You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by br...@apache.org on 2014/03/20 02:15:04 UTC
svn commit: r1579507 - in /incubator/npanday/trunk/components:
dotnet-core/src/main/resources/META-INF/npanday/
dotnet-executable/src/main/java/npanday/executable/impl/
dotnet-model/compiler-plugins/
dotnet-model/compiler-plugins/src/test/resources/
Author: brett
Date: Thu Mar 20 02:15:04 2014
New Revision: 1579507
URL: http://svn.apache.org/r1579507
Log:
re-model profiles
Restructure the profile model for compiler plugins only, to better match
the behaviour used for platforms. This avoids redundancy in declaring the
frameworks and compiler switches again. Only affects the loading of the
repository, as it will generate individual capabilities for each profile
out of that.
Modified:
incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/npanday/compiler-plugins.xml
incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerPluginsRepository.java
incubator/npanday/trunk/components/dotnet-model/compiler-plugins/compiler-plugins.mdo
incubator/npanday/trunk/components/dotnet-model/compiler-plugins/src/test/resources/sample-compiler-plugins.xml
Modified: incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/npanday/compiler-plugins.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/npanday/compiler-plugins.xml?rev=1579507&r1=1579506&r2=1579507&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/npanday/compiler-plugins.xml (original)
+++ incubator/npanday/trunk/components/dotnet-core/src/main/resources/META-INF/npanday/compiler-plugins.xml Thu Mar 20 02:15:04 2014
@@ -23,7 +23,6 @@
<vendor>MICROSOFT</vendor>
<executable>csc</executable>
<language>C_SHARP</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>1.1.4322</frameworkVersion>
</frameworkVersions>
@@ -78,7 +77,6 @@
<vendor>MICROSOFT</vendor>
<executable>csc</executable>
<language>C_SHARP</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>2.0.50727</frameworkVersion>
</frameworkVersions>
@@ -139,7 +137,6 @@
<vendor>MICROSOFT</vendor>
<executable>csc</executable>
<language>C_SHARP</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>3.5</frameworkVersion>
<frameworkVersion>3.0</frameworkVersion>
@@ -204,7 +201,28 @@
<vendor>MICROSOFT</vendor>
<executable>csc</executable>
<language>C_SHARP</language>
- <profile>COMPACT</profile>
+ <profiles>
+ <profile>
+ <id>COMPACT</id>
+ <defaultAssemblyPath>C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE</defaultAssemblyPath>
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System.Data</assembly>
+ <assembly>System</assembly>
+ <assembly>System.Drawing</assembly>
+ <assembly>System.Messaging</assembly>
+ <assembly>System.Web.Services</assembly>
+ <assembly>System.Windows.Forms.DataGrid</assembly>
+ <assembly>System.Windows.Forms</assembly>
+ <assembly>Microsoft.WindowsCE.Forms</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Data.DataSetExtensions</assembly>
+ <assembly>System.Xml.Linq</assembly>
+ <assembly>Microsoft.Transactions.Bridge</assembly>
+ </assemblies>
+ </profile>
+ </profiles>
<frameworkVersions>
<frameworkVersion>3.5</frameworkVersion>
<frameworkVersion>3.0</frameworkVersion>
@@ -216,23 +234,6 @@
<architecture>x86</architecture>
</platform>
</platforms>
- <defaultAssemblyPath>C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE</defaultAssemblyPath>
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System.Data</assembly>
- <assembly>System</assembly>
- <assembly>System.Drawing</assembly>
- <assembly>System.Messaging</assembly>
- <assembly>System.Web.Services</assembly>
- <assembly>System.Windows.Forms.DataGrid</assembly>
- <assembly>System.Windows.Forms</assembly>
- <assembly>Microsoft.WindowsCE.Forms</assembly>
- <assembly>System.Xml</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Data.DataSetExtensions</assembly>
- <assembly>System.Xml.Linq</assembly>
- <assembly>Microsoft.Transactions.Bridge</assembly>
- </assemblies>
<commandFilter>
<includes>
<include>addmodule</include>
@@ -286,7 +287,6 @@
<vendor>MICROSOFT</vendor>
<executable>csc</executable>
<language>C_SHARP</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>4.5.1</frameworkVersion>
<frameworkVersion>4.5</frameworkVersion>
@@ -356,7 +356,6 @@
<vendor>MICROSOFT</vendor>
<executable>csc</executable>
<language>C_SHARP</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>4.5</frameworkVersion>
<frameworkVersion>4.0</frameworkVersion>
@@ -425,7 +424,6 @@
<vendor>MICROSOFT</vendor>
<executable>csc</executable>
<language>C_SHARP</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>4.0</frameworkVersion>
<frameworkVersion>3.5</frameworkVersion>
@@ -488,12 +486,94 @@
</commandFilter>
</compilerPlugin>
<compilerPlugin>
- <identifier>MS-CS:4.0+.NETPortable,Profile1</identifier>
+ <identifier>MS-CS:4.0+.NETPortable</identifier>
<pluginClass>npanday.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
<vendor>MICROSOFT</vendor>
<executable>csc</executable>
<language>C_SHARP</language>
- <profile>.NETPortable,Profile1</profile>
+ <profiles>
+ <profile>
+ <id>.NETPortable,Profile1</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile1</targetFramework>
+ <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile1</defaultAssemblyPath>
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Xml.Serialization</assembly>
+ </assemblies>
+ </profile>
+ <profile>
+ <id>.NETPortable,Profile2</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile2</targetFramework>
+ <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile2</defaultAssemblyPath>
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Net</assembly>
+ <assembly>System.Runtime.Serialization</assembly>
+ <assembly>System.ServiceModel</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Xml.Serialization</assembly>
+ </assemblies>
+ </profile>
+ <profile>
+ <id>.NETPortable,Profile3</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile3</targetFramework>
+ <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile3</defaultAssemblyPath>
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System</assembly>
+ <assembly>System.ComponentModel.Composition</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Net</assembly>
+ <assembly>System.Runtime.Serialization</assembly>
+ <assembly>System.ServiceModel</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Xml.Serialization</assembly>
+ </assemblies>
+ </profile>
+ <profile>
+ <id>.NETPortable,Profile4</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile4</targetFramework>
+ <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile4</defaultAssemblyPath>
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Net</assembly>
+ <assembly>System.Runtime.Serialization</assembly>
+ <assembly>System.ServiceModel</assembly>
+ <assembly>System.Windows</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Xml.Serialization</assembly>
+ </assemblies>
+ </profile>
+ <profile>
+ <id>.NETPortable,Profile24</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile24</targetFramework>
+ <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile24</defaultAssemblyPath>
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>Microsoft.CSharp</assembly>
+ <assembly>System.ComponentModel.Composition</assembly>
+ <assembly>System.ComponentModel.DataAnnotations</assembly>
+ <assembly>System</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Net</assembly>
+ <assembly>System.Numerics</assembly>
+ <assembly>System.Runtime.Serialization</assembly>
+ <assembly>System.ServiceModel</assembly>
+ <assembly>System.ServiceModel.Web</assembly>
+ <assembly>System.Windows</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Xml.Linq</assembly>
+ <assembly>System.Xml.Serialization</assembly>
+ </assemblies>
+ </profile>
+ </profiles>
<frameworkVersions>
<frameworkVersion>4.0</frameworkVersion>
</frameworkVersions>
@@ -503,247 +583,6 @@
<architecture>x86</architecture>
</platform>
</platforms>
- <targetFramework>.NETPortable,Version=v4.0,Profile=Profile1</targetFramework>
- <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile1</defaultAssemblyPath>
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Xml</assembly>
- </assemblies>
- <commandFilter>
- <includes>
- <include>addmodule</include>
- <include>appconfig</include>
- <include>baseaddress</include>
- <include>bugreport</include>
- <include>checked</include>
- <include>codepage</include>
- <include>debug</include>
- <include>define</include>
- <include>delaysign</include>
- <include>doc</include>
- <include>errorreport</include>
- <include>filealign</include>
- <include>fullpaths</include>
- <!-- ignored:
- <include>help</include>
- <include>incremental</include>
- -->
- <include>keycontainer</include>
- <include>keyfile</include>
- <include>langversion</include>
- <include>lib</include>
- <include>link</include>
- <include>linkresource</include>
- <include>main</include>
- <include>noconfig</include>
- <include>nologo</include>
- <include>nostdlib</include>
- <include>nowarn</include>
- <include>nowin32manifest</include>
- <include>optimize</include>
- <include>out</include>
- <include>pdb</include>
- <include>platform</include>
- <include>recurse</include>
- <include>reference</include>
- <include>resource</include>
- <include>target</include>
- <include>unsafe</include>
- <include>utf8output</include>
- <include>warn</include>
- <include>warnaserror</include>
- <include>win32icon</include>
- <include>win32manifest</include>
- <include>win32res</include>
- </includes>
- </commandFilter>
- </compilerPlugin>
- <compilerPlugin>
- <identifier>MS-CS:4.0+.NETPortable,Profile2</identifier>
- <pluginClass>npanday.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
- <vendor>MICROSOFT</vendor>
- <executable>csc</executable>
- <language>C_SHARP</language>
- <profile>.NETPortable,Profile2</profile>
- <frameworkVersions>
- <frameworkVersion>4.0</frameworkVersion>
- </frameworkVersions>
- <platforms>
- <platform>
- <operatingSystem>Windows</operatingSystem>
- <architecture>x86</architecture>
- </platform>
- </platforms>
- <targetFramework>.NETPortable,Version=v4.0,Profile=Profile2</targetFramework>
- <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile2</defaultAssemblyPath>
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Net</assembly>
- <assembly>System.Runtime.Serialization</assembly>
- <assembly>System.ServiceModel</assembly>
- <assembly>System.Xml</assembly>
- <assembly>System.Xml.Serialization</assembly>
- </assemblies>
- <commandFilter>
- <includes>
- <include>addmodule</include>
- <include>appconfig</include>
- <include>baseaddress</include>
- <include>bugreport</include>
- <include>checked</include>
- <include>codepage</include>
- <include>debug</include>
- <include>define</include>
- <include>delaysign</include>
- <include>doc</include>
- <include>errorreport</include>
- <include>filealign</include>
- <include>fullpaths</include>
- <!-- ignored:
- <include>help</include>
- <include>incremental</include>
- -->
- <include>keycontainer</include>
- <include>keyfile</include>
- <include>langversion</include>
- <include>lib</include>
- <include>link</include>
- <include>linkresource</include>
- <include>main</include>
- <include>noconfig</include>
- <include>nologo</include>
- <include>nostdlib</include>
- <include>nowarn</include>
- <include>nowin32manifest</include>
- <include>optimize</include>
- <include>out</include>
- <include>pdb</include>
- <include>platform</include>
- <include>recurse</include>
- <include>reference</include>
- <include>resource</include>
- <include>target</include>
- <include>unsafe</include>
- <include>utf8output</include>
- <include>warn</include>
- <include>warnaserror</include>
- <include>win32icon</include>
- <include>win32manifest</include>
- <include>win32res</include>
- </includes>
- </commandFilter>
- </compilerPlugin>
- <compilerPlugin>
- <identifier>MS-CS:4.0+.NETPortable,Profile3</identifier>
- <pluginClass>npanday.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
- <vendor>MICROSOFT</vendor>
- <executable>csc</executable>
- <language>C_SHARP</language>
- <profile>.NETPortable,Profile3</profile>
- <frameworkVersions>
- <frameworkVersion>4.0</frameworkVersion>
- </frameworkVersions>
- <platforms>
- <platform>
- <operatingSystem>Windows</operatingSystem>
- <architecture>x86</architecture>
- </platform>
- </platforms>
- <targetFramework>.NETPortable,Version=v4.0,Profile=Profile3</targetFramework>
- <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile3</defaultAssemblyPath>
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System</assembly>
- <assembly>System.ComponentModel.Composition</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Net</assembly>
- <assembly>System.Runtime.Serialization</assembly>
- <assembly>System.ServiceModel</assembly>
- <assembly>System.Xml</assembly>
- <assembly>System.Xml.Serialization</assembly>
- </assemblies>
- <commandFilter>
- <includes>
- <include>addmodule</include>
- <include>appconfig</include>
- <include>baseaddress</include>
- <include>bugreport</include>
- <include>checked</include>
- <include>codepage</include>
- <include>debug</include>
- <include>define</include>
- <include>delaysign</include>
- <include>doc</include>
- <include>errorreport</include>
- <include>filealign</include>
- <include>fullpaths</include>
- <!-- ignored:
- <include>help</include>
- <include>incremental</include>
- -->
- <include>keycontainer</include>
- <include>keyfile</include>
- <include>langversion</include>
- <include>lib</include>
- <include>link</include>
- <include>linkresource</include>
- <include>main</include>
- <include>noconfig</include>
- <include>nologo</include>
- <include>nostdlib</include>
- <include>nowarn</include>
- <include>nowin32manifest</include>
- <include>optimize</include>
- <include>out</include>
- <include>pdb</include>
- <include>platform</include>
- <include>recurse</include>
- <include>reference</include>
- <include>resource</include>
- <include>target</include>
- <include>unsafe</include>
- <include>utf8output</include>
- <include>warn</include>
- <include>warnaserror</include>
- <include>win32icon</include>
- <include>win32manifest</include>
- <include>win32res</include>
- </includes>
- </commandFilter>
- </compilerPlugin>
- <compilerPlugin>
- <identifier>MS-CS:4.0+.NETPortable,Profile4</identifier>
- <pluginClass>npanday.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
- <vendor>MICROSOFT</vendor>
- <executable>csc</executable>
- <language>C_SHARP</language>
- <profile>.NETPortable,Profile4</profile>
- <frameworkVersions>
- <frameworkVersion>4.0</frameworkVersion>
- </frameworkVersions>
- <platforms>
- <platform>
- <operatingSystem>Windows</operatingSystem>
- <architecture>x86</architecture>
- </platform>
- </platforms>
- <targetFramework>.NETPortable,Version=v4.0,Profile=Profile4</targetFramework>
- <defaultAssemblyPath>C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile4</defaultAssemblyPath>
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Net</assembly>
- <assembly>System.Runtime.Serialization</assembly>
- <assembly>System.ServiceModel</assembly>
- <assembly>System.Windows</assembly>
- <assembly>System.Xml</assembly>
- <assembly>System.Xml.Serialization</assembly>
- </assemblies>
<commandFilter>
<includes>
<include>addmodule</include>
@@ -799,7 +638,6 @@
<vendor>MICROSOFT</vendor>
<executable>vbc</executable>
<language>VB</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>4.5</frameworkVersion>
<frameworkVersion>4.0</frameworkVersion>
@@ -875,7 +713,6 @@
<vendor>MICROSOFT</vendor>
<executable>aspnet_compiler</executable>
<language>ASP</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>2.0.50727</frameworkVersion>
<frameworkVersion>3.0</frameworkVersion>
@@ -912,7 +749,6 @@
<pluginClass>npanday.executable.compiler.impl.DefaultCompiler</pluginClass>
<vendor>MONO</vendor>
<language>C_SHARP</language>
- <profile>FULL</profile>
<executable>mcs</executable>
<frameworkVersions>
<frameworkVersion>1.1.4322</frameworkVersion>
@@ -968,7 +804,6 @@
<pluginClass>npanday.executable.compiler.impl.DefaultCompiler</pluginClass>
<vendor>MONO</vendor>
<language>VB</language>
- <profile>FULL</profile>
<executable>vbnc</executable>
<frameworkVersions>
<frameworkVersion>2.0.50727</frameworkVersion>
@@ -1041,7 +876,6 @@
<pluginClass>npanday.executable.compiler.impl.DefaultCompiler</pluginClass>
<vendor>MONO</vendor>
<language>C_SHARP</language>
- <profile>FULL</profile>
<executable>gmcs</executable>
<frameworkVersions>
<frameworkVersion>2.0.50727</frameworkVersion>
@@ -1099,7 +933,6 @@
<pluginClass>npanday.executable.compiler.impl.DefaultCompiler</pluginClass>
<vendor>MONO</vendor>
<language>C_SHARP</language>
- <profile>FULL</profile>
<executable>dmcs</executable>
<frameworkVersions>
<frameworkVersion>4.0</frameworkVersion>
@@ -1151,255 +984,71 @@
</commandFilter>
</compilerPlugin>
<compilerPlugin>
- <identifier>MONO-CS:4.0+.NETPortable,Profile1</identifier>
- <pluginClass>npanday.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
- <vendor>MONO</vendor>
- <executable>dmcs</executable>
- <language>C_SHARP</language>
- <profile>.NETPortable,Profile1</profile>
- <frameworkVersions>
- <frameworkVersion>4.0</frameworkVersion>
- </frameworkVersions>
- <platforms>
- <platform>
- <operatingSystem>Windows</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Mac OS X</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Linux</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Solaris</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>FreeBSD</operatingSystem>
- </platform>
- </platforms>
- <targetFramework>.NETPortable,Version=v4.0,Profile=Profile1</targetFramework>
- <!-- Mono 2.10.2 missing .NETPortable defaultAssemblyPath, requires profileAssemblyPath -->
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Xml</assembly>
- </assemblies>
- <commandFilter>
- <includes>
- <include>out</include>
- <include>target</include>
- <include>delaysign</include>
- <include>doc</include>
- <include>keyfile</include>
- <include>keycontainer</include>
- <include>platform</include>
- <include>recurse</include>
- <include>reference</include>
- <include>addmodule</include>
- <include>win32res</include>
- <include>win32icon</include>
- <include>resource</include>
- <include>linkresource</include>
- <include>debug</include>
- <include>optimize</include>
- <include>warnaserror</include>
- <include>warn</include>
- <include>nowarn</include>
- <include>checked</include>
- <include>unsafe</include>
- <include>define</include>
- <include>langversion</include>
- <include>help</include>
- <include>nologo</include>
- <include>noconfig</include>
- <include>baseaddress</include>
- <include>bugreport</include>
- <include>codepage</include>
- <include>utf8output</include>
- <include>main</include>
- <include>fullpaths</include>
- <include>filealign</include>
- <include>pdb</include>
- <include>nostdlib</include>
- <include>lib</include>
- <include>errorreport</include>
- <include>moduleassemblyname</include>
- </includes>
- </commandFilter>
- </compilerPlugin>
- <compilerPlugin>
- <identifier>MONO-CS:4.0+.NETPortable,Profile2</identifier>
- <pluginClass>npanday.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
- <vendor>MONO</vendor>
- <executable>dmcs</executable>
- <language>C_SHARP</language>
- <profile>.NETPortable,Profile2</profile>
- <frameworkVersions>
- <frameworkVersion>4.0</frameworkVersion>
- </frameworkVersions>
- <platforms>
- <platform>
- <operatingSystem>Windows</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Mac OS X</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Linux</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Solaris</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>FreeBSD</operatingSystem>
- </platform>
- </platforms>
- <targetFramework>.NETPortable,Version=v4.0,Profile=Profile2</targetFramework>
- <!-- Mono 2.10.2 missing .NETPortable defaultAssemblyPath, requires profileAssemblyPath -->
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Net</assembly>
- <assembly>System.Runtime.Serialization</assembly>
- <assembly>System.ServiceModel</assembly>
- <assembly>System.Xml</assembly>
- <assembly>System.Xml.Serialization</assembly>
- </assemblies>
- <commandFilter>
- <includes>
- <include>out</include>
- <include>target</include>
- <include>delaysign</include>
- <include>doc</include>
- <include>keyfile</include>
- <include>keycontainer</include>
- <include>platform</include>
- <include>recurse</include>
- <include>reference</include>
- <include>addmodule</include>
- <include>win32res</include>
- <include>win32icon</include>
- <include>resource</include>
- <include>linkresource</include>
- <include>debug</include>
- <include>optimize</include>
- <include>warnaserror</include>
- <include>warn</include>
- <include>nowarn</include>
- <include>checked</include>
- <include>unsafe</include>
- <include>define</include>
- <include>langversion</include>
- <include>help</include>
- <include>nologo</include>
- <include>noconfig</include>
- <include>baseaddress</include>
- <include>bugreport</include>
- <include>codepage</include>
- <include>utf8output</include>
- <include>main</include>
- <include>fullpaths</include>
- <include>filealign</include>
- <include>pdb</include>
- <include>nostdlib</include>
- <include>lib</include>
- <include>errorreport</include>
- <include>moduleassemblyname</include>
- </includes>
- </commandFilter>
- </compilerPlugin>
- <compilerPlugin>
- <identifier>MONO-CS:4.0+.NETPortable,Profile3</identifier>
- <pluginClass>npanday.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
- <vendor>MONO</vendor>
- <executable>dmcs</executable>
- <language>C_SHARP</language>
- <profile>.NETPortable,Profile3</profile>
- <frameworkVersions>
- <frameworkVersion>4.0</frameworkVersion>
- </frameworkVersions>
- <platforms>
- <platform>
- <operatingSystem>Windows</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Mac OS X</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Linux</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>Solaris</operatingSystem>
- </platform>
- <platform>
- <operatingSystem>FreeBSD</operatingSystem>
- </platform>
- </platforms>
- <targetFramework>.NETPortable,Version=v4.0,Profile=Profile3</targetFramework>
- <!-- Mono 2.10.2 missing .NETPortable defaultAssemblyPath, requires profileAssemblyPath -->
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System</assembly>
- <assembly>System.ComponentModel.Composition</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Net</assembly>
- <assembly>System.Runtime.Serialization</assembly>
- <assembly>System.ServiceModel</assembly>
- <assembly>System.Xml</assembly>
- <assembly>System.Xml.Serialization</assembly>
- </assemblies>
- <commandFilter>
- <includes>
- <include>out</include>
- <include>target</include>
- <include>delaysign</include>
- <include>doc</include>
- <include>keyfile</include>
- <include>keycontainer</include>
- <include>platform</include>
- <include>recurse</include>
- <include>reference</include>
- <include>addmodule</include>
- <include>win32res</include>
- <include>win32icon</include>
- <include>resource</include>
- <include>linkresource</include>
- <include>debug</include>
- <include>optimize</include>
- <include>warnaserror</include>
- <include>warn</include>
- <include>nowarn</include>
- <include>checked</include>
- <include>unsafe</include>
- <include>define</include>
- <include>langversion</include>
- <include>help</include>
- <include>nologo</include>
- <include>noconfig</include>
- <include>baseaddress</include>
- <include>bugreport</include>
- <include>codepage</include>
- <include>utf8output</include>
- <include>main</include>
- <include>fullpaths</include>
- <include>filealign</include>
- <include>pdb</include>
- <include>nostdlib</include>
- <include>lib</include>
- <include>errorreport</include>
- <include>moduleassemblyname</include>
- </includes>
- </commandFilter>
- </compilerPlugin>
- <compilerPlugin>
- <identifier>MONO-CS:4.0+.NETPortable,Profile4</identifier>
+ <identifier>MONO-CS:4.0+.NETPortable</identifier>
<pluginClass>npanday.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
<vendor>MONO</vendor>
<executable>dmcs</executable>
<language>C_SHARP</language>
- <profile>.NETPortable,Profile4</profile>
+ <profiles>
+ <profile>
+ <id>.NETPortable,Profile1</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile1</targetFramework>
+ <!-- Mono 2.10.2 missing .NETPortable defaultAssemblyPath, requires profileAssemblyPath -->
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Xml</assembly>
+ </assemblies>
+ </profile>
+ <profile>
+ <id>.NETPortable,Profile2</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile2</targetFramework>
+ <!-- Mono 2.10.2 missing .NETPortable defaultAssemblyPath, requires profileAssemblyPath -->
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Net</assembly>
+ <assembly>System.Runtime.Serialization</assembly>
+ <assembly>System.ServiceModel</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Xml.Serialization</assembly>
+ </assemblies>
+ </profile>
+ <profile>
+ <id>.NETPortable,Profile3</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile3</targetFramework>
+ <!-- Mono 2.10.2 missing .NETPortable defaultAssemblyPath, requires profileAssemblyPath -->
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System</assembly>
+ <assembly>System.ComponentModel.Composition</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Net</assembly>
+ <assembly>System.Runtime.Serialization</assembly>
+ <assembly>System.ServiceModel</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Xml.Serialization</assembly>
+ </assemblies>
+ </profile>
+ <profile>
+ <id>.NETPortable,Profile4</id>
+ <targetFramework>.NETPortable,Version=v4.0,Profile=Profile4</targetFramework>
+ <!-- Mono 2.10.2 missing .NETPortable defaultAssemblyPath, requires profileAssemblyPath -->
+ <assemblies>
+ <assembly>mscorlib</assembly>
+ <assembly>System</assembly>
+ <assembly>System.Core</assembly>
+ <assembly>System.Net</assembly>
+ <assembly>System.Runtime.Serialization</assembly>
+ <assembly>System.ServiceModel</assembly>
+ <assembly>System.Windows</assembly>
+ <assembly>System.Xml</assembly>
+ <assembly>System.Xml.Serialization</assembly>
+ </assemblies>
+ </profile>
+ </profiles>
<frameworkVersions>
<frameworkVersion>4.0</frameworkVersion>
</frameworkVersions>
@@ -1420,19 +1069,6 @@
<operatingSystem>FreeBSD</operatingSystem>
</platform>
</platforms>
- <targetFramework>.NETPortable,Version=v4.0,Profile=Profile4</targetFramework>
- <!-- Mono 2.10.2 missing .NETPortable defaultAssemblyPath, requires profileAssemblyPath -->
- <assemblies>
- <assembly>mscorlib</assembly>
- <assembly>System</assembly>
- <assembly>System.Core</assembly>
- <assembly>System.Net</assembly>
- <assembly>System.Runtime.Serialization</assembly>
- <assembly>System.ServiceModel</assembly>
- <assembly>System.Windows</assembly>
- <assembly>System.Xml</assembly>
- <assembly>System.Xml.Serialization</assembly>
- </assemblies>
<commandFilter>
<includes>
<include>out</include>
@@ -1481,7 +1117,6 @@
<pluginClass>npanday.executable.compiler.impl.NemerleCompiler</pluginClass>
<vendor>MONO</vendor>
<language>NEMERLE</language>
- <profile>FULL</profile>
<executable>ncc</executable>
<frameworkVersions>
<frameworkVersion>2.0.50727</frameworkVersion>
@@ -1527,7 +1162,6 @@
<pluginClass>npanday.executable.compiler.impl.DotGNUCompiler</pluginClass>
<vendor>DotGNU</vendor>
<language>C_SHARP</language>
- <profile>FULL</profile>
<executable>cscc</executable>
<frameworkVersions>
<frameworkVersion>2.0.50727</frameworkVersion>
@@ -1558,7 +1192,6 @@
<vendor>MICROSOFT</vendor>
<executable>RubyCompiler.exe</executable>
<language>RUBY</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>2.0.50727</frameworkVersion>
</frameworkVersions>
Modified: incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerPluginsRepository.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerPluginsRepository.java?rev=1579507&r1=1579506&r2=1579507&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerPluginsRepository.java (original)
+++ incubator/npanday/trunk/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerPluginsRepository.java Thu Mar 20 02:15:04 2014
@@ -24,10 +24,7 @@ import com.google.common.collect.Iterabl
import npanday.executable.CommandCapability;
import npanday.executable.ExecutableCapability;
import npanday.executable.compiler.MutableCompilerCapability;
-import npanday.model.compiler.plugins.CommandFilter;
-import npanday.model.compiler.plugins.CompilerPlugin;
-import npanday.model.compiler.plugins.CompilerPluginsModel;
-import npanday.model.compiler.plugins.Platform;
+import npanday.model.compiler.plugins.*;
import npanday.model.compiler.plugins.io.xpp3.CompilerPluginXpp3Reader;
import npanday.registry.ModelInterpolator;
import npanday.registry.NPandayRepositoryException;
@@ -64,7 +61,7 @@ public final class CompilerPluginsReposi
* List<npanday.model.compiler.plugins.CompilerPlugin> of compiler plugins pulled from the
* various compiler-plugins.xml files.
*/
- private List compilerPlugins = new ArrayList();
+ private List<CompilerPlugin> compilerPlugins = new ArrayList<CompilerPlugin>();
@Override
protected CompilerPluginsModel loadFromReader( Reader reader, Hashtable properties )
@@ -99,78 +96,71 @@ public final class CompilerPluginsReposi
List<ExecutableCapability> getCompilerCapabilities( final VendorInfo vendorInfo )
{
List<ExecutableCapability> platformCapabilities = new ArrayList<ExecutableCapability>();
- for ( Iterator i = compilerPlugins.iterator(); i.hasNext(); )
- {
- CompilerPlugin plugin = (CompilerPlugin) i.next();
- String language = plugin.getLanguage();
- String pluginClassName = plugin.getPluginClass();
- Properties pluginConfiguration = plugin.getPluginConfiguration();
- String executable = plugin.getExecutable();
- String vendor = plugin.getVendor();
- String vendorVersion = plugin.getVendorVersion();
- String identifier = plugin.getIdentifier();
- String profile = plugin.getProfile();
- List<String> frameworkVersions = plugin.getFrameworkVersions();
- List<String> coreAssemblies = plugin.getAssemblies();
- String defaultAssemblyPath = plugin.getDefaultAssemblyPath();
- String targetFramework = plugin.getTargetFramework();
-
- if (vendor != null && !vendorInfo.getVendor().getVendorName().toLowerCase().equals( vendor.toLowerCase() ))
+ for (CompilerPlugin plugin : compilerPlugins) {
+ if (plugin.getVendor() != null && !vendorInfo.getVendor().getVendorName().toLowerCase().equals(plugin.getVendor().toLowerCase()))
continue;
- if ( VersionComparer.isVendorVersionMissmatch(vendorVersion, vendorInfo.getVendorVersion()) )
- {
+ if (VersionComparer.isVendorVersionMissmatch(plugin.getVendorVersion(), vendorInfo.getVendorVersion())) {
continue;
}
- if ( VersionComparer.isFrameworkVersionMissmatch(frameworkVersions, vendorInfo.getFrameworkVersion()) )
- {
+ if (VersionComparer.isFrameworkVersionMissmatch(plugin.getFrameworkVersions(), vendorInfo.getFrameworkVersion())) {
continue;
}
- List platforms = plugin.getPlatforms();
- for ( Iterator j = platforms.iterator(); j.hasNext(); )
- {
- MutableCompilerCapability platformCapability = new MutableCompilerCapability();
-
- platformCapability.setVendorInfo( vendorInfo );
- platformCapability.setProbingPaths(plugin.getProbingPaths());
-
- Platform platform = (Platform) j.next();
- String os = platform.getOperatingSystem();
-
- platformCapability.setLanguage( language );
- platformCapability.setOperatingSystem( os );
- platformCapability.setPluginClassName( pluginClassName );
- platformCapability.setPluginConfiguration( pluginConfiguration );
-
- platformCapability.setExecutableName( executable );
- platformCapability.setIdentifier( identifier );
- platformCapability.setFrameworkVersions( frameworkVersions );
- platformCapability.setProfile( profile );
- if (!isNullOrEmpty(defaultAssemblyPath))
- {
- platformCapability.setAssemblyPath( new File(defaultAssemblyPath) );
- }
- platformCapability.setTargetFramework( targetFramework );
- String arch = platform.getArchitecture();
- CommandFilter filter = plugin.getCommandFilter();
- platformCapability.setCoreAssemblies( coreAssemblies );
-
- List<String> includes = ( filter != null ) ? filter.getIncludes() : new ArrayList<String>();
- List<String> excludes = ( filter != null ) ? filter.getExcludes() : new ArrayList<String>();
- platformCapability.setCommandCapability(
- CommandCapability.Factory.createDefaultCommandCapability( includes, excludes ) );
- if ( arch != null )
- {
- platformCapability.setArchitecture( arch );
+ for (Platform platform : plugin.getPlatforms()) {
+ if (plugin.getProfiles() != null && !plugin.getProfiles().isEmpty()) {
+ for (Profile profile : plugin.getProfiles()) {
+ MutableCompilerCapability platformCapability = createPlatformCapability(vendorInfo, plugin, platform);
+ platformCapability.setProfile(profile.getId());
+ if (!isNullOrEmpty(profile.getDefaultAssemblyPath())) {
+ platformCapability.setAssemblyPath(new File(profile.getDefaultAssemblyPath()));
+ }
+ platformCapability.setTargetFramework(profile.getTargetFramework());
+ platformCapability.setCoreAssemblies(profile.getAssemblies());
+
+ platformCapabilities.add(platformCapability);
+ }
+ } else {
+ MutableCompilerCapability platformCapability = createPlatformCapability(vendorInfo, plugin, platform);
+ platformCapability.setProfile("FULL");
+ platformCapabilities.add(platformCapability);
}
- platformCapabilities.add( platformCapability );
}
}
return platformCapabilities;
}
+ private static MutableCompilerCapability createPlatformCapability(VendorInfo vendorInfo, CompilerPlugin plugin, Platform platform) {
+ MutableCompilerCapability platformCapability = new MutableCompilerCapability();
+
+ platformCapability.setVendorInfo( vendorInfo );
+ platformCapability.setProbingPaths(plugin.getProbingPaths());
+
+ String os = platform.getOperatingSystem();
+
+ platformCapability.setLanguage(plugin.getLanguage());
+ platformCapability.setOperatingSystem( os );
+ platformCapability.setPluginClassName(plugin.getPluginClass());
+ platformCapability.setPluginConfiguration(plugin.getPluginConfiguration());
+
+ platformCapability.setExecutableName(plugin.getExecutable());
+ platformCapability.setIdentifier(plugin.getIdentifier());
+ platformCapability.setFrameworkVersions(plugin.getFrameworkVersions());
+ String arch = platform.getArchitecture();
+ CommandFilter filter = plugin.getCommandFilter();
+
+ List<String> includes = ( filter != null ) ? filter.getIncludes() : new ArrayList<String>();
+ List<String> excludes = ( filter != null ) ? filter.getExcludes() : new ArrayList<String>();
+ platformCapability.setCommandCapability(
+ CommandCapability.Factory.createDefaultCommandCapability( includes, excludes ) );
+ if ( arch != null )
+ {
+ platformCapability.setArchitecture( arch );
+ }
+ return platformCapability;
+ }
+
// ### COMPONENTS REQUIRED BY THE BASE CLASS
/**
Modified: incubator/npanday/trunk/components/dotnet-model/compiler-plugins/compiler-plugins.mdo
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-model/compiler-plugins/compiler-plugins.mdo?rev=1579507&r1=1579506&r2=1579507&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-model/compiler-plugins/compiler-plugins.mdo (original)
+++ incubator/npanday/trunk/components/dotnet-model/compiler-plugins/compiler-plugins.mdo Thu Mar 20 02:15:04 2014
@@ -92,11 +92,20 @@
</field>
<field>
<name>profile</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>Profile for the plugin.</description>
</field>
<field>
+ <name>profiles</name>
+ <version>1.5.0+</version>
+ <association>
+ <type>Profile</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ <description>Profiles for the plugin.</description>
+ </field>
+ <field>
<name>executable</name>
<version>1.0.0+</version>
<type>String</type>
@@ -126,6 +135,7 @@
</field>
<field>
<name>defaultAssemblyPath</name>
+ <version>1.0.0</version>
<description>
Path (absolute or relative) of the assemblies given in the assembly fields. This field
is used in conjunction with the profile and the assemblies fields.
@@ -134,6 +144,7 @@
</field>
<field>
<name>targetFramework</name>
+ <version>1.0.0</version>
<description>
Target framework for the compiled artifact.
</description>
@@ -141,6 +152,7 @@
</field>
<field>
<name>assemblies</name>
+ <version>1.0.0</version>
<description>
Assemblies to reference from the command line. This is used to create custom profiles (such as
.NET Compact) that use a different set of system assemblies. Only include the name of the
@@ -214,5 +226,47 @@
</field>
</fields>
</class>
+ <class>
+ <name>Profile</name>
+ <version>1.5.0+</version>
+ <fields>
+ <field>
+ <name>id</name>
+ <identifier>true</identifier>
+ <version>1.5.0+</version>
+ <type>String</type>
+ </field>
+ <field>
+ <name>defaultAssemblyPath</name>
+ <version>1.5.0+</version>
+ <description>
+ Path (absolute or relative) of the assemblies given in the assembly fields. This field
+ is used in conjunction with the profile and the assemblies fields.
+ </description>
+ <type>String</type>
+ </field>
+ <field>
+ <name>targetFramework</name>
+ <version>1.5.0+</version>
+ <description>
+ Target framework for the compiled artifact.
+ </description>
+ <type>String</type>
+ </field>
+ <field>
+ <name>assemblies</name>
+ <version>1.5.0+</version>
+ <description>
+ Assemblies to reference from the command line. This is used to create custom profiles (such as
+ .NET Compact) that use a different set of system assemblies. Only include the name of the
+ assembly, not the .dll extension.
+ </description>
+ <association>
+ <type>String</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ </class>
</classes>
</model>
Modified: incubator/npanday/trunk/components/dotnet-model/compiler-plugins/src/test/resources/sample-compiler-plugins.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/components/dotnet-model/compiler-plugins/src/test/resources/sample-compiler-plugins.xml?rev=1579507&r1=1579506&r2=1579507&view=diff
==============================================================================
--- incubator/npanday/trunk/components/dotnet-model/compiler-plugins/src/test/resources/sample-compiler-plugins.xml (original)
+++ incubator/npanday/trunk/components/dotnet-model/compiler-plugins/src/test/resources/sample-compiler-plugins.xml Thu Mar 20 02:15:04 2014
@@ -27,7 +27,6 @@
<vendorVersion>1</vendorVersion>
<executable>RubyCompiler.exe</executable>
<language>RUBY</language>
- <profile>FULL</profile>
<frameworkVersions>
<frameworkVersion>2.0.50727</frameworkVersion>
</frameworkVersions>