Atsushi Eno [Mon, 2 Dec 2013 19:54:31 +0000 (04:54 +0900)]
ProjectCollection.DefaultToolsVersion is settable.
Atsushi Eno [Mon, 2 Dec 2013 10:05:12 +0000 (19:05 +0900)]
Some parser error message got source string for Condition evaluation.
Atsushi Eno [Mon, 2 Dec 2013 10:04:20 +0000 (19:04 +0900)]
Target items related fixes - give diagnostic outputs for initial items. Evaluate item condition.
Atsushi Eno [Fri, 29 Nov 2013 15:44:57 +0000 (00:44 +0900)]
Fix some default properties: OutputType has default to Exe. AssemblyName defaults to the project file name, not RootNamespace.
Atsushi Eno [Fri, 29 Nov 2013 14:41:09 +0000 (23:41 +0900)]
Enable parallel build test, with successful command, now that ConsoleLogger is now parallel ready.
Atsushi Eno [Fri, 29 Nov 2013 14:40:46 +0000 (23:40 +0900)]
ConsoleLogger is now parallel build ready.
Atsushi Eno [Fri, 29 Nov 2013 11:02:09 +0000 (20:02 +0900)]
Fixed Task output item string result creator and fixed test expectation.
Item output task parameters don't show up on TargetResult Items. Instead
those items can be retrieved via ProjectInstance after builds.
Atsushi Eno [Fri, 29 Nov 2013 09:55:54 +0000 (18:55 +0900)]
Empty items could still slipped in when converting string to array.
ResolveAssemblyReferences was hit with empty SearchPaths because of this.
Atsushi Eno [Fri, 29 Nov 2013 08:42:25 +0000 (17:42 +0900)]
Make sure to raise matching TaskFinished event.
Atsushi Eno [Fri, 29 Nov 2013 07:55:12 +0000 (16:55 +0900)]
While converting string to array, trim each element before converting.
ResolveAssemblyReferences should work now.
Atsushi Eno [Fri, 29 Nov 2013 07:08:24 +0000 (16:08 +0900)]
implement "skip target due to previous success" feature.
Atsushi Eno [Fri, 29 Nov 2013 06:37:59 +0000 (15:37 +0900)]
Improve item evaluation whitespace handling.
Atsushi Eno [Fri, 29 Nov 2013 06:37:40 +0000 (15:37 +0900)]
disable parallel build test because it is ConsoleLogger which does not work fine.
Atsushi Eno [Fri, 29 Nov 2013 06:14:29 +0000 (15:14 +0900)]
ProjectTaskOutputPropertyInstance was not appropriately created.
Atsushi Eno [Thu, 28 Nov 2013 16:00:52 +0000 (01:00 +0900)]
Make sure to use BuildNodeManager in any build run, and corrected error handling to somewhat better state.
Also, now EndBuild() won't finish until all callbacks are done.
Atsushi Eno [Thu, 28 Nov 2013 10:51:37 +0000 (19:51 +0900)]
LoadProject() should add the loaded project to the collection.
Atsushi Eno [Thu, 28 Nov 2013 10:29:06 +0000 (19:29 +0900)]
Any errors inside BuildEngine build could be logged by loggers.
Some exceptions _outside_ that can be still on stderr, but they are
much less now.
Atsushi Eno [Thu, 28 Nov 2013 10:05:57 +0000 (19:05 +0900)]
Give Project FullPath a unique name for each test so that error outputs could be attributed.
Atsushi Eno [Thu, 28 Nov 2013 05:24:06 +0000 (14:24 +0900)]
Make sure to fire TargetFinished event in any result (namely, internal error).
That possible mismatch caused invalid Stack operation in ConsoleLogger.
Atsushi Eno [Thu, 28 Nov 2013 05:14:45 +0000 (14:14 +0900)]
couple of minor refactoring and warnings cleanup.
BuildSubmission.IsCompleted is valid now.
Renamed some argument in BuildEngine4.
Removed ProjectTargetInstance field by moving them to arguments in BuildEngine4.
Atsushi Eno [Wed, 27 Nov 2013 19:04:51 +0000 (04:04 +0900)]
do not try to evaluate and set non-required and empty Task parameter for ITask instance.
Atsushi Eno [Wed, 27 Nov 2013 18:41:10 +0000 (03:41 +0900)]
fix test file name.
Atsushi Eno [Wed, 27 Nov 2013 18:12:49 +0000 (03:12 +0900)]
Handle target Inputs and Outputs so that extra targets can be skipped. Add some value convert (for task property) tests.
Atsushi Eno [Wed, 27 Nov 2013 15:56:24 +0000 (00:56 +0900)]
For Condition, "yes", "no", "on" and "off" are also treated as valid boolean...
Atsushi Eno [Wed, 27 Nov 2013 15:55:56 +0000 (00:55 +0900)]
For ItemType-less metadata expression, apply all items in the project.
Atsushi Eno [Wed, 27 Nov 2013 15:35:57 +0000 (00:35 +0900)]
Evaluate Target Condition too.
Atsushi Eno [Wed, 27 Nov 2013 15:13:41 +0000 (00:13 +0900)]
Make use of XBUILD_FRAMEWORK_FOLDERS_PATH in GetReferenceAssemblyPaths task and make it testable importing common targets.
Atsushi Eno [Wed, 27 Nov 2013 14:09:11 +0000 (23:09 +0900)]
implement MetadataAccessExpression evaluate methods.
Atsushi Eno [Wed, 27 Nov 2013 12:52:10 +0000 (21:52 +0900)]
ProjectInstance never had valid ToolsVersion because ProjectRootElement holds "", not null(!) for default value.
Atsushi Eno [Wed, 27 Nov 2013 12:37:15 +0000 (21:37 +0900)]
Fix ProjectInstance.ToolsVersion, never returned valid value.
Atsushi Eno [Wed, 27 Nov 2013 11:59:08 +0000 (20:59 +0900)]
Check Condition on task parameter before trying to apply it.
Atsushi Eno [Wed, 27 Nov 2013 11:51:06 +0000 (20:51 +0900)]
Well-Known metadata support is now in ProjectItemInstance too, sharing code with ProjectItem.
Atsushi Eno [Wed, 27 Nov 2013 11:01:23 +0000 (20:01 +0900)]
Split lengthy DoBuildTarget() function into understandable units.
Atsushi Eno [Wed, 27 Nov 2013 10:39:58 +0000 (19:39 +0900)]
Project.GetItems() and ProjectInstance.GetItems() are now shared code.
They will involve more complication and I don't want to have duplicates.
Atsushi Eno [Wed, 27 Nov 2013 10:17:30 +0000 (19:17 +0900)]
add some workaround for "PLATFORM" property that should not be filled by environment.
Add some tests to evaluate IntermediateOutputPath.
Atsushi Eno [Wed, 27 Nov 2013 10:17:19 +0000 (19:17 +0900)]
implement UnloadProject().
Atsushi Eno [Wed, 27 Nov 2013 08:36:53 +0000 (17:36 +0900)]
STRING_LITERAL could contain expandable expressions, so evaluate them too.
We cannot simply "expand strings first then evaluate condition as boolean"
because there are things like "$(A)=='true'" which is expanded as "=='true'".
Atsushi Eno [Wed, 27 Nov 2013 07:58:02 +0000 (16:58 +0900)]
remove redundant "throw NIE".
Atsushi Eno [Wed, 27 Nov 2013 07:57:24 +0000 (16:57 +0900)]
implement ExpressionParserManual.EvaluateMetadataExpression().
Atsushi Eno [Wed, 27 Nov 2013 07:09:42 +0000 (16:09 +0900)]
Forgot to rename namespace in .jay.
Atsushi Eno [Wed, 27 Nov 2013 07:04:51 +0000 (16:04 +0900)]
For expression stuff, change namespace to MS.Build.Internal.Expressionns.
Too annoying to track build engine traces.
Atsushi Eno [Wed, 27 Nov 2013 07:04:10 +0000 (16:04 +0900)]
Add more diagnostic logging in BuildEngine4.
Atsushi Eno [Tue, 26 Nov 2013 12:00:25 +0000 (21:00 +0900)]
update .csproj.
Atsushi Eno [Tue, 26 Nov 2013 12:00:07 +0000 (21:00 +0900)]
Add and use BuildAbortedException.
Atsushi Eno [Tue, 26 Nov 2013 11:56:10 +0000 (20:56 +0900)]
implement ProjectInstance.GetItems() which is now actually used.
Atsushi Eno [Tue, 26 Nov 2013 11:55:48 +0000 (20:55 +0900)]
Filter out empty strings in split item array.
Atsushi Eno [Tue, 26 Nov 2013 11:16:50 +0000 (20:16 +0900)]
Task parameters has to be expanded before being applied to ITask instance.
Atsushi Eno [Tue, 26 Nov 2013 11:00:51 +0000 (20:00 +0900)]
several BuildEngine4 fixes.
- DependsOnTargets has to be Trim()med before search.
- Metadata implementation is required in the TaskItem.
Atsushi Eno [Tue, 26 Nov 2013 11:00:32 +0000 (20:00 +0900)]
Fix namespace.
Atsushi Eno [Mon, 25 Nov 2013 11:57:47 +0000 (20:57 +0900)]
use ConcurrentQueue in BuildNodeManager.
Atsushi Eno [Mon, 25 Nov 2013 11:57:33 +0000 (20:57 +0900)]
fix class visibility.
Atsushi Eno [Fri, 22 Nov 2013 10:49:40 +0000 (19:49 +0900)]
dump possible build node exceptions that would have been silently ignored.
Atsushi Eno [Fri, 22 Nov 2013 10:31:41 +0000 (19:31 +0900)]
Evaluate and include property and item on <Target> element before running tasks.
BuildEngine4.BuildTarget() became too lengthy, so split it.
Atsushi Eno [Fri, 22 Nov 2013 07:25:07 +0000 (16:25 +0900)]
Fix ContinueOnError evaluation (was almost always true). Add more logging.
Atsushi Eno [Thu, 21 Nov 2013 20:00:16 +0000 (05:00 +0900)]
handle Target/@DependsOnTargets. To make it possible, some code reorganization.
Atsushi Eno [Thu, 21 Nov 2013 19:58:47 +0000 (04:58 +0900)]
make locations internal in NET_4_0.
Atsushi Eno [Thu, 21 Nov 2013 19:58:21 +0000 (04:58 +0900)]
No need to fill UsingTaskElement content here. Load() takes care of it.
Atsushi Eno [Thu, 21 Nov 2013 14:17:09 +0000 (23:17 +0900)]
Fix bogus expression tokenizer that failed at parenthesized expressions with And/Or.
Atsushi Eno [Thu, 21 Nov 2013 03:04:07 +0000 (12:04 +0900)]
MaxNodeCount is documented as 1 by default. (not in use so far anyways...)
Atsushi Eno [Thu, 21 Nov 2013 02:58:38 +0000 (11:58 +0900)]
Show better error location in InvalidProjectFileException.
Atsushi Eno [Thu, 21 Nov 2013 02:57:51 +0000 (11:57 +0900)]
slightly changed Csc task test project structure so that it could at least launch compiler.
Atsushi Eno [Thu, 21 Nov 2013 02:57:06 +0000 (11:57 +0900)]
Fix load error with related to new attributes since 4.0.
Atsushi Eno [Thu, 21 Nov 2013 02:53:51 +0000 (11:53 +0900)]
Fix possible NRE on null Location.
Atsushi Eno [Wed, 20 Nov 2013 19:31:19 +0000 (04:31 +0900)]
implement ProjectIntance.AddItem().
Atsushi Eno [Wed, 20 Nov 2013 14:03:15 +0000 (23:03 +0900)]
Use ContinueOnError property on BuildEngine itself.
Atsushi Eno [Wed, 20 Nov 2013 13:30:17 +0000 (22:30 +0900)]
Set Task properties before running it, and get output task parameters when done.
Atsushi Eno [Wed, 20 Nov 2013 09:58:03 +0000 (18:58 +0900)]
Several fixes to get ProjectUsingTaskElement could be loaded and task database gets correct match.
Now tasks could be loaded, ready to execute.
Atsushi Eno [Wed, 20 Nov 2013 09:13:20 +0000 (18:13 +0900)]
workaround threading by Task isse. Also fix regression on "no target found" case (should fail).
(Task causes NotImplementedException under the hood).
Atsushi Eno [Tue, 19 Nov 2013 20:50:37 +0000 (05:50 +0900)]
update .csproj.
Atsushi Eno [Tue, 19 Nov 2013 20:49:55 +0000 (05:49 +0900)]
ongoing task database implementation.
This somehow causes thread freeze, I had to disable some tests.
Atsushi Eno [Tue, 19 Nov 2013 20:01:17 +0000 (05:01 +0900)]
ITaskFactory2 is public.
Atsushi Eno [Tue, 19 Nov 2013 18:02:15 +0000 (03:02 +0900)]
update .csproj.
Atsushi Eno [Tue, 19 Nov 2013 18:01:54 +0000 (03:01 +0900)]
add missing OutOfProcNode class (though it seems unused).
Atsushi Eno [Tue, 19 Nov 2013 16:14:27 +0000 (01:14 +0900)]
update .csproj.
Atsushi Eno [Tue, 19 Nov 2013 16:14:17 +0000 (01:14 +0900)]
delete old file.
Atsushi Eno [Tue, 19 Nov 2013 16:13:18 +0000 (01:13 +0900)]
implement basic node management skeleton (which does not really manage nodes, just to hold node retriever).
Atsushi Eno [Tue, 19 Nov 2013 10:12:52 +0000 (19:12 +0900)]
Ongoing build engine implementation and some fixes in build submission handling.
BuildSubmission could be posted multiple times so that multiple projects can
be built within one BuildManager. Now node manager should be implemented too...
Atsushi Eno [Tue, 19 Nov 2013 10:11:13 +0000 (19:11 +0900)]
Fix API: remove non-existent property in .NET (copy-paste bad).
Atsushi Eno [Tue, 19 Nov 2013 08:45:09 +0000 (17:45 +0900)]
update .csproj.
Atsushi Eno [Tue, 19 Nov 2013 08:44:37 +0000 (17:44 +0900)]
Add missing ITaskFactory/2 and co. Add BuildEventArgs.set_Context().
Atsushi Eno [Mon, 18 Nov 2013 15:01:50 +0000 (00:01 +0900)]
update csproj.
Atsushi Eno [Mon, 18 Nov 2013 14:59:54 +0000 (23:59 +0900)]
Add IBuildEngine implementation, required to expose some features to tasks.
Atsushi Eno [Mon, 18 Nov 2013 11:15:49 +0000 (20:15 +0900)]
add test for BuildManager.PendBuildRequest(). Looks like it's mostly for internal use...
Atsushi Eno [Mon, 18 Nov 2013 10:31:25 +0000 (19:31 +0900)]
fix NET_2_0 build: INodeLogger is only in 4.0.
Atsushi Eno [Fri, 15 Nov 2013 18:10:20 +0000 (03:10 +0900)]
slightly reorganized external sources dirs.
Atsushi Eno [Fri, 15 Nov 2013 18:10:00 +0000 (03:10 +0900)]
add missing copyright headers.
Atsushi Eno [Fri, 15 Nov 2013 17:15:06 +0000 (02:15 +0900)]
implement HostServices, not sure if we're going to use it though.
Atsushi Eno [Thu, 14 Nov 2013 20:35:53 +0000 (05:35 +0900)]
add missing license headers.
Atsushi Eno [Thu, 14 Nov 2013 20:35:28 +0000 (05:35 +0900)]
slightly reduce NIE code path.
Atsushi Eno [Thu, 14 Nov 2013 20:34:49 +0000 (05:34 +0900)]
update csproj.
Atsushi Eno [Thu, 14 Nov 2013 20:34:14 +0000 (05:34 +0900)]
Add test for BuildSubmission (which is mostly for build operation so far).
Atsushi Eno [Thu, 14 Nov 2013 19:46:55 +0000 (04:46 +0900)]
Implement more precise DefaultTargets handling.
Atsushi Eno [Thu, 14 Nov 2013 18:18:07 +0000 (03:18 +0900)]
Several fixes on manual expression parser with related to function args and property accesses.
Atsushi Eno [Thu, 14 Nov 2013 18:17:30 +0000 (03:17 +0900)]
fix some string evaluator tests. Some of them even fails in prop values.
Atsushi Eno [Thu, 14 Nov 2013 18:17:03 +0000 (03:17 +0900)]
slightly improve property access error message.
Atsushi Eno [Thu, 14 Nov 2013 18:16:30 +0000 (03:16 +0900)]
Apply windows path loader fix to ProjectInstance too.
Atsushi Eno [Thu, 14 Nov 2013 13:56:08 +0000 (22:56 +0900)]
Resolve property value by EvaluatedValue where appropriate.
Atsushi Eno [Thu, 14 Nov 2013 10:09:22 +0000 (19:09 +0900)]
Sequence of comparison expressions (A==B==C) is invalid. Avoid ANE on property evaluation.
Atsushi Eno [Wed, 13 Nov 2013 16:12:08 +0000 (01:12 +0900)]
Fix binary expression evaluation. They can be combined.
Atsushi Eno [Wed, 13 Nov 2013 16:11:44 +0000 (01:11 +0900)]
implement prebuilt Condition evaluation function support.