* Turn build errors during evaluation into EvalErrors.
This commit is contained in:
		
							parent
							
								
									8bcdd36f10
								
							
						
					
					
						commit
						89865da76d
					
				
					 4 changed files with 7 additions and 4 deletions
				
			
		|  | @ -15,6 +15,7 @@ MakeError(AssertionError, EvalError) | ||||||
| MakeError(ThrownError, AssertionError) | MakeError(ThrownError, AssertionError) | ||||||
| MakeError(Abort, EvalError) | MakeError(Abort, EvalError) | ||||||
| MakeError(TypeError, EvalError) | MakeError(TypeError, EvalError) | ||||||
|  | MakeError(ImportError, EvalError) // error building an imported derivation
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /* Position objects. */ | /* Position objects. */ | ||||||
|  |  | ||||||
|  | @ -37,7 +37,11 @@ static void prim_import(EvalState & state, Value * * args, Value & v) | ||||||
|             throw EvalError(format("cannot import `%1%', since path `%2%' is not valid") |             throw EvalError(format("cannot import `%1%', since path `%2%' is not valid") | ||||||
|                 % path % *i); |                 % path % *i); | ||||||
|         if (isDerivation(*i)) |         if (isDerivation(*i)) | ||||||
|             store->buildDerivations(singleton<PathSet>(*i)); |             try { | ||||||
|  |                 store->buildDerivations(singleton<PathSet>(*i)); | ||||||
|  |             } catch (Error & e) { | ||||||
|  |                 throw ImportError(e.msg()); | ||||||
|  |             } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     state.evalFile(path, v); |     state.evalFile(path, v); | ||||||
|  |  | ||||||
|  | @ -267,7 +267,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| MakeError(SubstError, Error) | MakeError(SubstError, Error) | ||||||
| MakeError(BuildError, Error) /* denoted a permanent build failure */ | MakeError(BuildError, Error) /* denotes a permanent build failure */ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| //////////////////////////////////////////////////////////////////////
 | //////////////////////////////////////////////////////////////////////
 | ||||||
|  |  | ||||||
|  | @ -16,8 +16,6 @@ namespace nix { | ||||||
| typedef std::map<Path, Path> Roots; | typedef std::map<Path, Path> Roots; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| struct GCOptions | struct GCOptions | ||||||
| { | { | ||||||
|     /* Garbage collector operation:
 |     /* Garbage collector operation:
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue