mono.git
10 years agoSplit lengthy DoBuildTarget() function into understandable units.
Atsushi Eno [Wed, 27 Nov 2013 11:01:23 +0000 (20:01 +0900)]
Split lengthy DoBuildTarget() function into understandable units.

10 years agoProject.GetItems() and ProjectInstance.GetItems() are now shared code.
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.

10 years agoadd some workaround for "PLATFORM" property that should not be filled by environment.
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.

10 years agoimplement UnloadProject().
Atsushi Eno [Wed, 27 Nov 2013 10:17:19 +0000 (19:17 +0900)]
implement UnloadProject().

10 years agoSTRING_LITERAL could contain expandable expressions, so evaluate them too.
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'".

10 years agoremove redundant "throw NIE".
Atsushi Eno [Wed, 27 Nov 2013 07:58:02 +0000 (16:58 +0900)]
remove redundant "throw NIE".

10 years agoimplement ExpressionParserManual.EvaluateMetadataExpression().
Atsushi Eno [Wed, 27 Nov 2013 07:57:24 +0000 (16:57 +0900)]
implement ExpressionParserManual.EvaluateMetadataExpression().

10 years agoForgot to rename namespace in .jay.
Atsushi Eno [Wed, 27 Nov 2013 07:09:42 +0000 (16:09 +0900)]
Forgot to rename namespace in .jay.

10 years agoFor expression stuff, change namespace to MS.Build.Internal.Expressionns.
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.

10 years agoAdd more diagnostic logging in BuildEngine4.
Atsushi Eno [Wed, 27 Nov 2013 07:04:10 +0000 (16:04 +0900)]
Add more diagnostic logging in BuildEngine4.

10 years agoupdate .csproj.
Atsushi Eno [Tue, 26 Nov 2013 12:00:25 +0000 (21:00 +0900)]
update .csproj.

10 years agoAdd and use BuildAbortedException.
Atsushi Eno [Tue, 26 Nov 2013 12:00:07 +0000 (21:00 +0900)]
Add and use BuildAbortedException.

10 years agoimplement ProjectInstance.GetItems() which is now actually used.
Atsushi Eno [Tue, 26 Nov 2013 11:56:10 +0000 (20:56 +0900)]
implement ProjectInstance.GetItems() which is now actually used.

10 years agoFilter out empty strings in split item array.
Atsushi Eno [Tue, 26 Nov 2013 11:55:48 +0000 (20:55 +0900)]
Filter out empty strings in split item array.

10 years agoTask parameters has to be expanded before being applied to ITask instance.
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.

10 years agoseveral BuildEngine4 fixes.
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.

10 years agoFix namespace.
Atsushi Eno [Tue, 26 Nov 2013 11:00:32 +0000 (20:00 +0900)]
Fix namespace.

10 years agouse ConcurrentQueue in BuildNodeManager.
Atsushi Eno [Mon, 25 Nov 2013 11:57:47 +0000 (20:57 +0900)]
use ConcurrentQueue in BuildNodeManager.

10 years agofix class visibility.
Atsushi Eno [Mon, 25 Nov 2013 11:57:33 +0000 (20:57 +0900)]
fix class visibility.

10 years agodump possible build node exceptions that would have been silently ignored.
Atsushi Eno [Fri, 22 Nov 2013 10:49:40 +0000 (19:49 +0900)]
dump possible build node exceptions that would have been silently ignored.

10 years agoEvaluate and include property and item on <Target> element before running tasks.
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.

10 years agoFix ContinueOnError evaluation (was almost always true). Add more logging.
Atsushi Eno [Fri, 22 Nov 2013 07:25:07 +0000 (16:25 +0900)]
Fix ContinueOnError evaluation (was almost always true). Add more logging.

10 years agohandle Target/@DependsOnTargets. To make it possible, some code reorganization.
Atsushi Eno [Thu, 21 Nov 2013 20:00:16 +0000 (05:00 +0900)]
handle Target/@DependsOnTargets. To make it possible, some code reorganization.

10 years agomake locations internal in NET_4_0.
Atsushi Eno [Thu, 21 Nov 2013 19:58:47 +0000 (04:58 +0900)]
make locations internal in NET_4_0.

10 years agoNo need to fill UsingTaskElement content here. Load() takes care of it.
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.

10 years agoFix bogus expression tokenizer that failed at parenthesized expressions with And/Or.
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.

10 years agoMaxNodeCount is documented as 1 by default. (not in use so far anyways...)
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...)

10 years agoShow better error location in InvalidProjectFileException.
Atsushi Eno [Thu, 21 Nov 2013 02:58:38 +0000 (11:58 +0900)]
Show better error location in InvalidProjectFileException.

10 years agoslightly changed Csc task test project structure so that it could at least launch...
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.

10 years agoFix load error with related to new attributes since 4.0.
Atsushi Eno [Thu, 21 Nov 2013 02:57:06 +0000 (11:57 +0900)]
Fix load error with related to new attributes since 4.0.

10 years agoFix possible NRE on null Location.
Atsushi Eno [Thu, 21 Nov 2013 02:53:51 +0000 (11:53 +0900)]
Fix possible NRE on null Location.

10 years agoimplement ProjectIntance.AddItem().
Atsushi Eno [Wed, 20 Nov 2013 19:31:19 +0000 (04:31 +0900)]
implement ProjectIntance.AddItem().

10 years agoUse ContinueOnError property on BuildEngine itself.
Atsushi Eno [Wed, 20 Nov 2013 14:03:15 +0000 (23:03 +0900)]
Use ContinueOnError property on BuildEngine itself.

10 years agoSet Task properties before running it, and get output task parameters when done.
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.

10 years agoSeveral fixes to get ProjectUsingTaskElement could be loaded and task database gets...
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.

10 years agoworkaround threading by Task isse. Also fix regression on "no target found" case...
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).

10 years agoupdate .csproj.
Atsushi Eno [Tue, 19 Nov 2013 20:50:37 +0000 (05:50 +0900)]
update .csproj.

10 years agoongoing task database implementation.
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.

10 years agoITaskFactory2 is public.
Atsushi Eno [Tue, 19 Nov 2013 20:01:17 +0000 (05:01 +0900)]
ITaskFactory2 is public.

10 years agoupdate .csproj.
Atsushi Eno [Tue, 19 Nov 2013 18:02:15 +0000 (03:02 +0900)]
update .csproj.

10 years agoadd missing OutOfProcNode class (though it seems unused).
Atsushi Eno [Tue, 19 Nov 2013 18:01:54 +0000 (03:01 +0900)]
add missing OutOfProcNode class (though it seems unused).

10 years agoupdate .csproj.
Atsushi Eno [Tue, 19 Nov 2013 16:14:27 +0000 (01:14 +0900)]
update .csproj.

10 years agodelete old file.
Atsushi Eno [Tue, 19 Nov 2013 16:14:17 +0000 (01:14 +0900)]
delete old file.

10 years agoimplement basic node management skeleton (which does not really manage nodes, just...
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).

10 years agoOngoing build engine implementation and some fixes in build submission handling.
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...

10 years agoFix API: remove non-existent property in .NET (copy-paste bad).
Atsushi Eno [Tue, 19 Nov 2013 10:11:13 +0000 (19:11 +0900)]
Fix API: remove non-existent property in .NET (copy-paste bad).

10 years agoupdate .csproj.
Atsushi Eno [Tue, 19 Nov 2013 08:45:09 +0000 (17:45 +0900)]
update .csproj.

10 years agoAdd missing ITaskFactory/2 and co. Add BuildEventArgs.set_Context().
Atsushi Eno [Tue, 19 Nov 2013 08:44:37 +0000 (17:44 +0900)]
Add missing ITaskFactory/2 and co. Add BuildEventArgs.set_Context().

10 years agoupdate csproj.
Atsushi Eno [Mon, 18 Nov 2013 15:01:50 +0000 (00:01 +0900)]
update csproj.

10 years agoAdd IBuildEngine implementation, required to expose some features to tasks.
Atsushi Eno [Mon, 18 Nov 2013 14:59:54 +0000 (23:59 +0900)]
Add IBuildEngine implementation, required to expose some features to tasks.

10 years agoadd test for BuildManager.PendBuildRequest(). Looks like it's mostly for internal...
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...

10 years agofix NET_2_0 build: INodeLogger is only in 4.0.
Atsushi Eno [Mon, 18 Nov 2013 10:31:25 +0000 (19:31 +0900)]
fix NET_2_0 build: INodeLogger is only in 4.0.

10 years agoslightly reorganized external sources dirs.
Atsushi Eno [Fri, 15 Nov 2013 18:10:20 +0000 (03:10 +0900)]
slightly reorganized external sources dirs.

10 years agoadd missing copyright headers.
Atsushi Eno [Fri, 15 Nov 2013 18:10:00 +0000 (03:10 +0900)]
add missing copyright headers.

10 years agoimplement HostServices, not sure if we're going to use it though.
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.

10 years agoadd missing license headers.
Atsushi Eno [Thu, 14 Nov 2013 20:35:53 +0000 (05:35 +0900)]
add missing license headers.

10 years agoslightly reduce NIE code path.
Atsushi Eno [Thu, 14 Nov 2013 20:35:28 +0000 (05:35 +0900)]
slightly reduce NIE code path.

10 years agoupdate csproj.
Atsushi Eno [Thu, 14 Nov 2013 20:34:49 +0000 (05:34 +0900)]
update csproj.

10 years agoAdd test for BuildSubmission (which is mostly for build operation so far).
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).

10 years agoImplement more precise DefaultTargets handling.
Atsushi Eno [Thu, 14 Nov 2013 19:46:55 +0000 (04:46 +0900)]
Implement more precise DefaultTargets handling.

10 years agoSeveral fixes on manual expression parser with related to function args and property...
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.

10 years agofix some string evaluator tests. Some of them even fails in prop values.
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.

10 years agoslightly improve property access error message.
Atsushi Eno [Thu, 14 Nov 2013 18:17:03 +0000 (03:17 +0900)]
slightly improve property access error message.

10 years agoApply windows path loader fix to ProjectInstance too.
Atsushi Eno [Thu, 14 Nov 2013 18:16:30 +0000 (03:16 +0900)]
Apply windows path loader fix to ProjectInstance too.

10 years agoResolve property value by EvaluatedValue where appropriate.
Atsushi Eno [Thu, 14 Nov 2013 13:56:08 +0000 (22:56 +0900)]
Resolve property value by EvaluatedValue where appropriate.

10 years agoSequence of comparison expressions (A==B==C) is invalid. Avoid ANE on property evalua...
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.

10 years agoFix binary expression evaluation. They can be combined.
Atsushi Eno [Wed, 13 Nov 2013 16:12:08 +0000 (01:12 +0900)]
Fix binary expression evaluation. They can be combined.

10 years agoimplement prebuilt Condition evaluation function support.
Atsushi Eno [Wed, 13 Nov 2013 16:11:44 +0000 (01:11 +0900)]
implement prebuilt Condition evaluation function support.

10 years agoFix location of windows path compatibility change.
Atsushi Eno [Wed, 13 Nov 2013 12:16:19 +0000 (21:16 +0900)]
Fix location of windows path compatibility change.

10 years agoFix 4.5 toolpath.
Atsushi Eno [Wed, 13 Nov 2013 12:16:07 +0000 (21:16 +0900)]
Fix 4.5 toolpath.

10 years agofix import path for ProjectInstance too.
Atsushi Eno [Wed, 13 Nov 2013 11:46:38 +0000 (20:46 +0900)]
fix import path for ProjectInstance too.

10 years agoupdate csproj.
Atsushi Eno [Wed, 13 Nov 2013 10:23:35 +0000 (19:23 +0900)]
update csproj.

10 years agoAdd missing built-in properties. Resolve properties on import paths. Resolve \ with...
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.

10 years agoProject needs to build just fine for empty projects.
Atsushi Eno [Thu, 31 Oct 2013 18:02:01 +0000 (03:02 +0900)]
Project needs to build just fine for empty projects.

10 years agosome BuildSubmission and BuildResult implementation, as well as tiny bit of build...
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.

10 years agosorted out BuildManager build logic up to BuildSubmission.Execute().
Atsushi Eno [Thu, 31 Oct 2013 13:28:07 +0000 (22:28 +0900)]
sorted out BuildManager build logic up to BuildSubmission.Execute().

10 years agoReuse logger types in Microsoft.Build.dll.
Atsushi Eno [Thu, 31 Oct 2013 11:31:03 +0000 (20:31 +0900)]
Reuse logger types in Microsoft.Build.dll.

10 years agoupdate csproj.
Atsushi Eno [Thu, 31 Oct 2013 11:25:55 +0000 (20:25 +0900)]
update csproj.

10 years agosorted out logger stuff. Imported many of existing loggers from MS.Build.Engine....
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.

10 years agoupdate .sources too.
Atsushi Eno [Thu, 31 Oct 2013 11:13:47 +0000 (20:13 +0900)]
update .sources too.

10 years agoupdate csproj.
Atsushi Eno [Thu, 31 Oct 2013 11:13:01 +0000 (20:13 +0900)]
update csproj.

10 years agoadd missing logging types which are required for Microsoft.Build.dll.
Atsushi Eno [Thu, 31 Oct 2013 11:12:37 +0000 (20:12 +0900)]
add missing logging types which are required for Microsoft.Build.dll.

10 years agoupdate csproj.
Atsushi Eno [Thu, 31 Oct 2013 09:00:33 +0000 (18:00 +0900)]
update csproj.

10 years agoAdd missing ProjectPropertyGroupTaskIntance and descendant, and implement more of...
Atsushi Eno [Thu, 31 Oct 2013 09:00:02 +0000 (18:00 +0900)]
Add missing ProjectPropertyGroupTaskIntance and descendant, and implement more of this namespace.

10 years agoAdded some comments on loaders in the two project object models.
Atsushi Eno [Thu, 31 Oct 2013 08:48:59 +0000 (17:48 +0900)]
Added some comments on loaders in the two project object models.

10 years agoimplemented more ProjectInstance family. Enabled some tests back.
Atsushi Eno [Thu, 31 Oct 2013 08:03:34 +0000 (17:03 +0900)]
implemented more ProjectInstance family. Enabled some tests back.

10 years agoimplemented a lot of ProjectTargetInstance and its descendants. Fixed a lot of Locati...
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.

10 years agoimplement basic project loader for ProjectInstance.
Atsushi Eno [Wed, 30 Oct 2013 09:12:54 +0000 (18:12 +0900)]
implement basic project loader for ProjectInstance.

10 years agorefactoring some internals to make code sharable between Project and 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.

10 years agoupdate .csproj.
Atsushi Eno [Fri, 25 Oct 2013 15:25:18 +0000 (00:25 +0900)]
update .csproj.

10 years agoimplement ProjectMetadataInstance and add some MS.Build.Execution tests.
Atsushi Eno [Fri, 25 Oct 2013 15:24:50 +0000 (00:24 +0900)]
implement ProjectMetadataInstance and add some MS.Build.Execution tests.

10 years agoadd another GetLoadedProject() test, this time with ProjectInstance.
Atsushi Eno [Fri, 25 Oct 2013 11:42:43 +0000 (20:42 +0900)]
add another GetLoadedProject() test, this time with ProjectInstance.

10 years agoimplement GetLoadedProject(), ProjectAdded and adjust relevant methods.
Atsushi Eno [Fri, 25 Oct 2013 11:30:36 +0000 (20:30 +0900)]
implement GetLoadedProject(), ProjectAdded and adjust relevant methods.

10 years agoAdded workaround for DirectoryScanner bug that finds multiple files. Then implemented...
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.

10 years agoupdate .csproj.
Atsushi Eno [Thu, 24 Oct 2013 17:25:33 +0000 (02:25 +0900)]
update .csproj.

10 years agomake TaskItem available (as internal) in Microsft.Build.dll.
Atsushi Eno [Thu, 24 Oct 2013 17:25:01 +0000 (02:25 +0900)]
make TaskItem available (as internal) in Microsft.Build.dll.

10 years agoimplement item wildcard support, except for "**" which looks buggy at DirectoryScanner.
Atsushi Eno [Thu, 24 Oct 2013 17:24:26 +0000 (02:24 +0900)]
implement item wildcard support, except for "**" which looks buggy at DirectoryScanner.

10 years agoimplement IsImported.
Atsushi Eno [Thu, 24 Oct 2013 15:53:23 +0000 (00:53 +0900)]
implement IsImported.

10 years agoimplemented well-known item metadata.
Atsushi Eno [Thu, 24 Oct 2013 12:36:18 +0000 (21:36 +0900)]
implemented well-known item metadata.

10 years agoFix API for ProjectItemElement.Condition. Add test for item definition Condition.
Atsushi Eno [Wed, 23 Oct 2013 11:14:57 +0000 (20:14 +0900)]
Fix API for ProjectItemElement.Condition. Add test for item definition Condition.