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.
Atsushi Eno [Wed, 13 Nov 2013 12:16:19 +0000 (21:16 +0900)]
Fix location of windows path compatibility change.
Atsushi Eno [Wed, 13 Nov 2013 12:16:07 +0000 (21:16 +0900)]
Fix 4.5 toolpath.
Atsushi Eno [Wed, 13 Nov 2013 11:46:38 +0000 (20:46 +0900)]
fix import path for ProjectInstance too.
Atsushi Eno [Wed, 13 Nov 2013 10:23:35 +0000 (19:23 +0900)]
update csproj.
Atsushi Eno [Wed, 13 Nov 2013 10:22:16 +0000 (19:22 +0900)]
Add missing built-in properties. Resolve properties on import paths. Resolve \ with / on import paths.
Atsushi Eno [Thu, 31 Oct 2013 18:02:01 +0000 (03:02 +0900)]
Project needs to build just fine for empty projects.
Atsushi Eno [Thu, 31 Oct 2013 17:55:08 +0000 (02:55 +0900)]
some BuildSubmission and BuildResult implementation, as well as tiny bit of build operation.
Atsushi Eno [Thu, 31 Oct 2013 13:28:07 +0000 (22:28 +0900)]
sorted out BuildManager build logic up to BuildSubmission.Execute().
Atsushi Eno [Thu, 31 Oct 2013 11:31:03 +0000 (20:31 +0900)]
Reuse logger types in Microsoft.Build.dll.
Atsushi Eno [Thu, 31 Oct 2013 11:25:55 +0000 (20:25 +0900)]
update csproj.
Atsushi Eno [Thu, 31 Oct 2013 11:25:19 +0000 (20:25 +0900)]
sorted out logger stuff. Imported many of existing loggers from MS.Build.Engine. Stubbed some.
Atsushi Eno [Thu, 31 Oct 2013 11:13:47 +0000 (20:13 +0900)]
update .sources too.
Atsushi Eno [Thu, 31 Oct 2013 11:13:01 +0000 (20:13 +0900)]
update csproj.
Atsushi Eno [Thu, 31 Oct 2013 11:12:37 +0000 (20:12 +0900)]
add missing logging types which are required for Microsoft.Build.dll.
Atsushi Eno [Thu, 31 Oct 2013 09:00:33 +0000 (18:00 +0900)]
update csproj.
Atsushi Eno [Thu, 31 Oct 2013 09:00:02 +0000 (18:00 +0900)]
Add missing ProjectPropertyGroupTaskIntance and descendant, and implement more of this namespace.
Atsushi Eno [Thu, 31 Oct 2013 08:48:59 +0000 (17:48 +0900)]
Added some comments on loaders in the two project object models.
Atsushi Eno [Thu, 31 Oct 2013 08:03:34 +0000 (17:03 +0900)]
implemented more ProjectInstance family. Enabled some tests back.
Atsushi Eno [Wed, 30 Oct 2013 13:10:29 +0000 (22:10 +0900)]
implemented a lot of ProjectTargetInstance and its descendants. Fixed a lot of Location stuff to fix NET_4_0 build.
Atsushi Eno [Wed, 30 Oct 2013 09:12:54 +0000 (18:12 +0900)]
implement basic project loader for ProjectInstance.
Atsushi Eno [Wed, 30 Oct 2013 08:37:40 +0000 (17:37 +0900)]
refactoring some internals to make code sharable between Project and ProjectInstance.
Atsushi Eno [Fri, 25 Oct 2013 15:25:18 +0000 (00:25 +0900)]
update .csproj.
Atsushi Eno [Fri, 25 Oct 2013 15:24:50 +0000 (00:24 +0900)]
implement ProjectMetadataInstance and add some MS.Build.Execution tests.
Atsushi Eno [Fri, 25 Oct 2013 11:42:43 +0000 (20:42 +0900)]
add another GetLoadedProject() test, this time with ProjectInstance.
Atsushi Eno [Fri, 25 Oct 2013 11:30:36 +0000 (20:30 +0900)]
implement GetLoadedProject(), ProjectAdded and adjust relevant methods.
Atsushi Eno [Thu, 24 Oct 2013 18:44:57 +0000 (03:44 +0900)]
Added workaround for DirectoryScanner bug that finds multiple files. Then implemented RecursiveDir metadata.
Atsushi Eno [Thu, 24 Oct 2013 17:25:33 +0000 (02:25 +0900)]
update .csproj.
Atsushi Eno [Thu, 24 Oct 2013 17:25:01 +0000 (02:25 +0900)]
make TaskItem available (as internal) in Microsft.Build.dll.
Atsushi Eno [Thu, 24 Oct 2013 17:24:26 +0000 (02:24 +0900)]
implement item wildcard support, except for "**" which looks buggy at DirectoryScanner.
Atsushi Eno [Thu, 24 Oct 2013 15:53:23 +0000 (00:53 +0900)]
implement IsImported.
Atsushi Eno [Thu, 24 Oct 2013 12:36:18 +0000 (21:36 +0900)]
implemented well-known item metadata.
Atsushi Eno [Wed, 23 Oct 2013 11:14:57 +0000 (20:14 +0900)]
Fix API for ProjectItemElement.Condition. Add test for item definition Condition.