mono.git
10 years agoupdate .sln too.
Atsushi Eno [Tue, 3 Dec 2013 07:48:02 +0000 (16:48 +0900)]
update .sln too.

10 years agoUpdate .csproj (to add MSBuild.csproj).
Atsushi Eno [Tue, 3 Dec 2013 07:46:57 +0000 (16:46 +0900)]
Update .csproj (to add MSBuild.csproj).

10 years agoAdd experimental "MSBuild.exe" implementation which is based on Microsoft.Build.dll.
Atsushi Eno [Mon, 2 Dec 2013 20:05:43 +0000 (05:05 +0900)]
Add experimental "MSBuild.exe" implementation which is based on Microsoft.Build.dll.

10 years agoupdate .csproj.
Atsushi Eno [Mon, 2 Dec 2013 19:55:17 +0000 (04:55 +0900)]
update .csproj.

10 years agoAdd missing exception types.
Atsushi Eno [Mon, 2 Dec 2013 19:55:03 +0000 (04:55 +0900)]
Add missing exception types.

10 years agoProjectCollection.DefaultToolsVersion is settable.
Atsushi Eno [Mon, 2 Dec 2013 19:54:31 +0000 (04:54 +0900)]
ProjectCollection.DefaultToolsVersion is settable.

10 years agoSome parser error message got source string for Condition evaluation.
Atsushi Eno [Mon, 2 Dec 2013 10:05:12 +0000 (19:05 +0900)]
Some parser error message got source string for Condition evaluation.

10 years agoTarget items related fixes - give diagnostic outputs for initial items. Evaluate...
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.

10 years agoFix some default properties: OutputType has default to Exe. AssemblyName defaults...
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.

10 years agoEnable parallel build test, with successful command, now that ConsoleLogger is now...
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.

10 years agoConsoleLogger is now parallel build ready.
Atsushi Eno [Fri, 29 Nov 2013 14:40:46 +0000 (23:40 +0900)]
ConsoleLogger is now parallel build ready.

10 years agoFixed Task output item string result creator and fixed test expectation.
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.

10 years agoEmpty items could still slipped in when converting string to array.
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.

10 years agoMake sure to raise matching TaskFinished event.
Atsushi Eno [Fri, 29 Nov 2013 08:42:25 +0000 (17:42 +0900)]
Make sure to raise matching TaskFinished event.

10 years agoWhile converting string to array, trim each element before converting.
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.

10 years agoimplement "skip target due to previous success" feature.
Atsushi Eno [Fri, 29 Nov 2013 07:08:24 +0000 (16:08 +0900)]
implement "skip target due to previous success" feature.

10 years agoImprove item evaluation whitespace handling.
Atsushi Eno [Fri, 29 Nov 2013 06:37:59 +0000 (15:37 +0900)]
Improve item evaluation whitespace handling.

10 years agodisable parallel build test because it is ConsoleLogger which does not work fine.
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.

10 years agoProjectTaskOutputPropertyInstance was not appropriately created.
Atsushi Eno [Fri, 29 Nov 2013 06:14:29 +0000 (15:14 +0900)]
ProjectTaskOutputPropertyInstance was not appropriately created.

10 years agoMake sure to use BuildNodeManager in any build run, and corrected error handling...
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.

10 years agoLoadProject() should add the loaded project to the collection.
Atsushi Eno [Thu, 28 Nov 2013 10:51:37 +0000 (19:51 +0900)]
LoadProject() should add the loaded project to the collection.

10 years agoAny errors inside BuildEngine build could be logged by loggers.
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.

10 years agoGive Project FullPath a unique name for each test so that error outputs could be...
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.

10 years agoMake sure to fire TargetFinished event in any result (namely, internal error).
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.

10 years agocouple of minor refactoring and warnings cleanup.
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.

10 years agodo not try to evaluate and set non-required and empty Task parameter for ITask instance.
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.

10 years agofix test file name.
Atsushi Eno [Wed, 27 Nov 2013 18:41:10 +0000 (03:41 +0900)]
fix test file name.

10 years agoHandle target Inputs and Outputs so that extra targets can be skipped. Add some value...
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.

10 years agoFor Condition, "yes", "no", "on" and "off" are also treated as valid boolean...
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...

10 years agoFor ItemType-less metadata expression, apply all items in the project.
Atsushi Eno [Wed, 27 Nov 2013 15:55:56 +0000 (00:55 +0900)]
For ItemType-less metadata expression, apply all items in the project.

10 years agoEvaluate Target Condition too.
Atsushi Eno [Wed, 27 Nov 2013 15:35:57 +0000 (00:35 +0900)]
Evaluate Target Condition too.

10 years agoMake use of XBUILD_FRAMEWORK_FOLDERS_PATH in GetReferenceAssemblyPaths task and make...
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.

10 years agoimplement MetadataAccessExpression evaluate methods.
Atsushi Eno [Wed, 27 Nov 2013 14:09:11 +0000 (23:09 +0900)]
implement MetadataAccessExpression evaluate methods.

10 years agoProjectInstance never had valid ToolsVersion because ProjectRootElement holds ""...
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.

10 years agoFix ProjectInstance.ToolsVersion, never returned valid value.
Atsushi Eno [Wed, 27 Nov 2013 12:37:15 +0000 (21:37 +0900)]
Fix ProjectInstance.ToolsVersion, never returned valid value.

10 years agoCheck Condition on task parameter before trying to apply it.
Atsushi Eno [Wed, 27 Nov 2013 11:59:08 +0000 (20:59 +0900)]
Check Condition on task parameter before trying to apply it.

10 years agoWell-Known metadata support is now in ProjectItemInstance too, sharing code with...
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.

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.