You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-commits@incubator.apache.org by si...@apache.org on 2006/12/10 23:44:12 UTC
svn commit: r485313 [15/15] - in /incubator/nmaven/trunk: components/
components/dotnet-artifact/ components/dotnet-artifact/src/
components/dotnet-artifact/src/main/
components/dotnet-artifact/src/main/java/
components/dotnet-artifact/src/main/java/or...
Added: incubator/nmaven/trunk/plugins/scripts/build-2.0.sh
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/scripts/build-2.0.sh?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/plugins/scripts/build-2.0.sh (added)
+++ incubator/nmaven/trunk/plugins/scripts/build-2.0.sh Sun Dec 10 15:43:51 2006
@@ -0,0 +1,3 @@
+mvn -f ../pom-java-bootstrap.xml install
+mvn org.apache.maven.dotnet.plugins:maven-install-plugin:install-file -Dfile=../imports/nunit-2.0/nunit.framework.dll -DgroupId=org.nunit -DartifactId=nunit.framework -Dpackaging=dll -Dversion=2.2.8.0
+mvn -f ../pom-net-bootstrap.xml -Dmaven.test.skip=true -Dbootstrap install
Propchange: incubator/nmaven/trunk/plugins/scripts/build-2.0.sh
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/nmaven/trunk/plugins/src/assembly/src.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/src/assembly/src.xml?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/plugins/src/assembly/src.xml (added)
+++ incubator/nmaven/trunk/plugins/src/assembly/src.xml Sun Dec 10 15:43:51 2006
@@ -0,0 +1,22 @@
+<assembly>
+ <id>build</id>
+ <formats>
+ <format>tar.gz</format>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <fileSets>
+ <fileSet>
+ <directory>.</directory>
+ <outputDirectory></outputDirectory>
+ <excludes>
+ <exclude>*.ipr</exclude>
+ <exclude>*.iws</exclude>
+ <exclude>*.iml</exclude>
+ <exclude>src/**</exclude>
+ <exclude>**/site/**</exclude>
+ <exclude>**/target/**</exclude>
+ </excludes>
+ </fileSet>
+ </fileSets>
+</assembly>
\ No newline at end of file
Propchange: incubator/nmaven/trunk/plugins/src/assembly/src.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/nmaven/trunk/site/LICENSE.txt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/LICENSE.txt?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/LICENSE.txt (added)
+++ incubator/nmaven/trunk/site/LICENSE.txt Sun Dec 10 15:43:51 2006
@@ -0,0 +1,176 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
Propchange: incubator/nmaven/trunk/site/LICENSE.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/nmaven/trunk/site/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/pom.xml?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/pom.xml (added)
+++ incubator/nmaven/trunk/site/pom.xml Sun Dec 10 15:43:51 2006
@@ -0,0 +1,59 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven-site</groupId>
+ <artifactId>nmaven-site</artifactId>
+ <packaging>pom</packaging>
+ <version>0.10</version>
+ <name>NMaven</name>
+ <url>http://nmaven.sourceforge.net</url>
+ <description>
+ NMaven provides Maven 2.x plugins to support building of .NET applications
+ </description>
+
+ <scm>
+ <url>http://svn.sourceforge.net/viewvc/nmaven/</url>
+ <connection>scm:svn:https://svn.sourceforge.net/svnroot/nmaven/</connection>
+ <developerConnection>
+ scm:svn:https://svn.sourceforge.net/svnroot/nmaven/</developerConnection>
+ <tag>REL_0_10</tag>
+ </scm>
+
+ <organization>
+ <name>NMaven</name>
+ <url>http://nmaven.sourceforge.net</url>
+ </organization>
+
+ <issueManagement>
+ <system>Sourceforge Bugtracking</system>
+ <url>http://sourceforge.net/tracker/?atid=876936&group_id=176362&func=browse</url>
+ </issueManagement>
+
+ <licenses>
+ <license>
+ <name>Apache 2.0</name>
+ <url>LICENSE.txt</url>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <name>Shane Isbell</name>
+ <id>random7</id>
+ <email>random7@users.sourceforge.net</email>
+ <organization>NMaven</organization>
+ <url>http://jroller.com/page/random7</url>
+ <roles>
+ <role>admin</role>
+ <role>developer</role>
+ </roles>
+ </developer>
+ </developers>
+
+ <distributionManagement>
+ <site>
+ <id>nmaven-site</id>
+ <name>NMaven Site</name>
+ <url>scp://shell.sourceforge.net//home/groups/n/nm/nmaven/htdocs</url>
+ </site>
+ </distributionManagement>
+</project>
Propchange: incubator/nmaven/trunk/site/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/nmaven/trunk/site/src/site/apt/adding-plugins.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/adding-plugins.apt?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/adding-plugins.apt (added)
+++ incubator/nmaven/trunk/site/src/site/apt/adding-plugins.apt Sun Dec 10 15:43:51 2006
@@ -0,0 +1,164 @@
+Adding Compilers
+
+ To add support for additional compilers, add a compiler-plugins.xml file, similar to
+ the examples below, in the root of each module that you are building. NMaven will pick it up and add it to the list
+ of supported compilers. Of course, if your compiler does not work with the DefaultCompiler, you will need to
+ create your own implementation of org.apache.maven.dotnet.executable.NetExecutable and add the class-name implementation to
+ the pluginClass tag.
+
+* compiler-plugins.xml
+
+ * {{{http://svn.sourceforge.net/viewvc/nmaven/components/tags/REL_0_12/nmaven-core/src/main/resources/META-INF/nmaven/compiler-plugins.xml?view=markup}compiler-plugins.xml}}
+ is the master plugin file.
+
+ * {{{http://nmaven.sourceforge.net/components/nmaven-model/nmaven-compile-plugin/compiler-plugin.html}Compiler Plugins Model}}
+
+ Example:
+
++----+
+
+<compilerPlugins>
+ <compilerPlugin>
+ <identifier>MS-CS</identifier>
+ <pluginClass>org.apache.maven.dotnet.executable.compiler.impl.DefaultCompiler</pluginClass>
+ <compiler>MICROSOFT</compiler>
+ <executable>csc</executable>
+ <language>C_SHARP</language>
+ <profile>FULL</profile>
+ <frameworkVersions>
+ <frameworkVersion>2.0.50727</frameworkVersion>
+ <frameworkVersion>1.1.4322</frameworkVersion>
+ </frameworkVersions>
+ <platforms>
+ <platform>
+ <operatingSystem>Windows</operatingSystem>
+ <architecture>x86</architecture>
+ </platform>
+ </platforms>
+ <profile>FULL</profile>
+ <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>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>
+ <include>nologo</include>
+ </includes>
+ </commandFilter>
+ </compilerPlugin>
+</compilerPlugins>
+
++----+
+
+* Creating Profiles
+
+ NMaven matches a plugin based on four user-specified parameters - vendor, language, framework version and profile - and on one
+ platform parameter: operating system. Sometimes a user may want to target, say C# version 2.0.50727 but would like to
+ use a different NetCompiler implementation than the standard one. The \<profile/> field gives this capability. The
+ profile also has other uses such using a different set of command filters; or, as in the case of
+ the COMPACT profile, specifying a new set of system assemblies.
+
+ The .NET Compact Profile:
+
++----+
+ <compilerPlugin>
+ <identifier>MS-CS:COMPACT</identifier>
+ <pluginClass>org.apache.maven.dotnet.executable.compiler.impl.CSharpCompilerForProfile</pluginClass>
+ <compiler>MICROSOFT</compiler>
+ <executable>csc</executable>
+ <language>C_SHARP</language>
+ <profile>COMPACT</profile>
+ <frameworkVersions>
+ <frameworkVersion>2.0.50727</frameworkVersion>
+ </frameworkVersions>
+ <platforms>
+ <platform>
+ <operatingSystem>Windows</operatingSystem>
+ <architecture>x86</architecture>
+ </platform>
+ </platforms>
+ <defaultAssemblyPath>
+ C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\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>
+ </assemblies>
+ <commandFilter>
+ <includes>
+ ...
+ </includes>
+ </commandFilter>
+ </compilerPlugin>
++----+
+
+Adding Assembly Plugins
+
+* assembly-plugins.xml
+
+ For each compiler that implements a new language, you will also need to add an assembly-plugin entry. Currently, this
+ needs to be placed in the nmaven-core jar (file system access in future release). The AssemblyInfoMarshaller tells the
+ nmaven framework how to format the AssemblyInfo.*.
+
++----+
+
+<assemblyPlugins>
+ <assemblyPlugin>
+ <identifier>CS</identifier>
+ <pluginClass>
+ org.apache.maven.dotnet.assembler.impl.DefaultAssemblyInfoMarshaller
+ </pluginClass>
+ <language>C_SHARP</language>
+ <extension>cs</extension>
+ </assemblyPlugin>
+ <assemblyPlugin>
+ <identifier>VB</identifier>
+ <pluginClass>
+ org.apache.maven.dotnet.assembler.impl.VBAssemblyInfoMarshaller
+ </pluginClass>
+ <language>VB</language>
+ <extension>vb</extension>
+ </assemblyPlugin>
+</assemblyPlugins>
+
++----+
\ No newline at end of file
Added: incubator/nmaven/trunk/site/src/site/apt/environment-configuration.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/environment-configuration.apt?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/environment-configuration.apt (added)
+++ incubator/nmaven/trunk/site/src/site/apt/environment-configuration.apt Sun Dec 10 15:43:51 2006
@@ -0,0 +1,270 @@
+Configuring the Environment
+
+* How NMaven Chooses the Compiler Environment
+
+ NMaven chooses the correct compiler by the following rules:
+
+ [[1]] Is the \<vendor/> tag set? If it is set, go to (2). If not, then detect operating system. If OS is windows,
+ set the vendor to MICROSOFT. If OS is not windows, set the vendor to MONO.
+
+ [[2]] Is the \<language> tag set? If it is set, go to (3). If not, then set the language to C_SHARP.
+
+ [[3]] Is the \<frameworkVersion/> tag set? If it is set, go to (4). If not, then set the version to 2.0.50727
+
+ [[4]] Is the \<profile> tag set? If if is set, go to (5). If not, then set to the value "FULL".
+
+ [[5]] Is there a match in the compiler-plugins.xml for the given vendor, language, frameworkVersion, profile and operating system?
+ If not, fail the build. If so, instantiate the correct compiler plugin.
+
+ [[6]] If vendor is MICROSOFT, then set the execution path to C:\WINDOWS\Microsoft.NET\Framework\v${frameworkVersion}\${executable}.
+ If this directory does not exist, fail the build. Note that this execution path is hard-coded, and precludes you from running the
+ compiler from a non-standard location. In a future release, NMaven will read the value from the registry. If vendor
+ is not MICROSOFT, then NMaven will run whatever is specified within the path.
+
+
+* CSharp2.0:exe:Microsoft
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.ms.csharp</groupId>
+ <artifactId>it-0001</artifactId>
+ <packaging>exe</packaging>
+ <version>0.1.0.0</version>
+ <name>csharp: it-0001</name>
+
+ <build>
+ <sourceDirectory>src/main/csharp</sourceDirectory>
+ <testSourceDirectory>src/test/csharp</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+* CSharp1.1:exe:Microsoft
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.ms.csharp</groupId>
+ <artifactId>it-0001</artifactId>
+ <packaging>exe</packaging>
+ <version>0.1.0.0</version>
+ <name>csharp: it-0001</name>
+
+ <build>
+ <sourceDirectory>src/main/csharp</sourceDirectory>
+ <testSourceDirectory>src/test/csharp</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <frameworkVersion>1.1.4322</frameworkVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+* VB2.0: library:MS
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.ms.csharp</groupId>
+ <artifactId>it-0001</artifactId>
+ <packaging>library</packaging>
+ <version>0.1.0.0</version>
+ <name>vb:it-0001</name>
+
+ <build>
+ <sourceDirectory>src/main/vb</sourceDirectory>
+ <testSourceDirectory>src/test/vb</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <language>VB</language>
+ </configuration>
+ </plugin>
+
+ </plugins>
+ </build>
+</project>
+
++----+
+
+* CSharp1.1:module:Mono
+
+ You will only need to use the MONO vendor field if you want to build MONO on windows: MONO is the default vendor for
+ other OS's.
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mono.csharp</groupId>
+ <artifactId>it-0001</artifactId>
+ <packaging>module</packaging>
+ <version>0.1.0.0</version>
+ <name>csharp: it-0001</name>
+
+ <build>
+ <sourceDirectory>src/main/csharp</sourceDirectory>
+ <testSourceDirectory>src/test/csharp</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <vendor>MONO</vendor>
+ <frameworkVersion>1.1.4322</frameworkVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+* CSharp2.0:library:Mono
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mono.csharp</groupId>
+ <artifactId>it-0001</artifactId>
+ <packaging>library</packaging>
+ <version>0.1.0.0</version>
+ <name>csharp: it-0001</name>
+
+ <build>
+ <sourceDirectory>src/main/csharp</sourceDirectory>
+ <testSourceDirectory>src/test/csharp</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <vendor>MONO</vendor>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+* CSharp:library:DotGNU
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mono.csharp</groupId>
+ <artifactId>it-0001</artifactId>
+ <packaging>library</packaging>
+ <version>0.1.0.0</version>
+ <name>csharp: it-0001</name>
+
+ <build>
+ <sourceDirectory>src/main/csharp</sourceDirectory>
+ <testSourceDirectory>src/test/csharp</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <vendor>DotGNU</vendor>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+* Nemerle:library:Mono
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mono.nemerle</groupId>
+ <artifactId>it-0001</artifactId>
+ <packaging>library</packaging>
+ <version>0.1.0.0</version>
+ <name>nemerle: it-0001</name>
+
+ <build>
+ <sourceDirectory>src/main/nemerle</sourceDirectory>
+ <testSourceDirectory>src/test/nemerle</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <language>NEMERLE</language>
+ <vendor>MONO</vendor>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+* PHP:library:Mono
+
+ To get PHP to run with NMaven, you will need to include mPHPRuntime.dll under each module directory. This is a work
+ around until I create a mavenizer-plugin that will handle non-nmaven generated assemblies.
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mono.php</groupId>
+ <artifactId>it-0001</artifactId>
+ <packaging>library</packaging>
+ <version>0.1.0.0</version>
+ <name>php: it-0001</name>
+
+ <build>
+ <sourceDirectory>src/main/php</sourceDirectory>
+ <testSourceDirectory>src/test/php</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <language>PHP</language>
+ <vendor>MONO</vendor>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
Added: incubator/nmaven/trunk/site/src/site/apt/features.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/features.apt?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/features.apt (added)
+++ incubator/nmaven/trunk/site/src/site/apt/features.apt Sun Dec 10 15:43:51 2006
@@ -0,0 +1,22 @@
+Features
+
+ * Mono Support: C#, Nemerle, PHP
+
+ * Microsoft Support: C#, VB, .NET Compact Profile
+
+ * DotGNU Support: C#
+
+ * NUnit support
+
+ * Resource generation and embedding
+
+ * Autmomatic Generation of AssemblyInfo.* based on language and contents of the pom.
+
+ * Web Application Packaging and Deployment
+
+ * XSD and WSDL Generation
+
+ * Pluggable architecture for adding new compilers and executables.
+
+ * nmaven-settings file for selecting the environment (MONO/MS/GNU, vendor/framework version, install location, etc)
+
Added: incubator/nmaven/trunk/site/src/site/apt/getting-started.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/getting-started.apt?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/getting-started.apt (added)
+++ incubator/nmaven/trunk/site/src/site/apt/getting-started.apt Sun Dec 10 15:43:51 2006
@@ -0,0 +1,305 @@
+Getting Started
+
+Sections
+
+ * {{{getting-started.html#Building NMaven}Building NMaven}}
+
+ * {{{getting-started.html#Assembly Info}Assembly Info}}
+
+ * {{{getting-started.html#Unit Testing with NUnit}Unit Testing with NUnit}}
+
+ * {{{getting-started.html#Building & Deploying Web Applications}Building & Deploying Web Applications}}
+
+ * {{{getting-started.html#Building with .NET Modules}Building with .NET Modules}}
+
+ * {{{getting-started.html#Installing Existing Assemblies in the Maven Repository}Installing Existing Assemblies in the Maven Repository}}
+
+ * {{{getting-started.html#Generating Resources}Generating Resources}}
+
+* {Building NMaven}
+
+ Make sure that you have jdk1.5+ installed and then do the following:
+
+ [[1]] Download the latest nmaven-components and nmaven-plugin project archives from the sourceforge site.
+
+ [[2]] Unarchive the nmaven-components. Build it by typing "mvn install" from the root directory.
+
+ [[3]] Unarchive the nmaven-plugins. Goto the scripts directory and run the appropriate batch or shell script for
+ your enviornment. This does a bootstrap build of Java jars and .NET assemblies and places the 3rd party .NET libraries
+ in the local maven repo.
+
+ Building on Linux, may take some extra steps. By default, on many Linux environments, the GNU Compiler for Java is already
+ installed. The current GNU version will not work with NMaven. To check which version the system uses, type "java -version"
+ on the command line. If you see something similar to the following, you will need to take additional steps to get the
+ build setup:
+
++----+
+
+java version "1.4.2"
+gij (GNU libgcj) version 4.1.1 20060525 (Red Hat 4.1.1-1)
++----+
+
+ Create a file "/etc/profile.d/java.sh" with the following entries:
+
++----+
+
+ export JAVA_HOME=/usr/java/jdk1.5.0_09
+ export PATH=$JAVA_HOME/bin:$PATH
++----+
+
+ Type "mvn -version" from the command line. You should see the following:
+
++----+
+
+java version "1.5.0_09"
+Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b01)
+Java HotSpot(TM) Client VM (build 1.5.0_09-b01, mixed mode, sharing)
++----+
+
+ On Linux, you also need Mono version 1.1.18 or higher. Type "mono -V" on the command line to see what version you
+ are running. If it is below 1.1.18, then download the latest mono version, unzip and run rpm from the commandline.
+ Detailed instructions are located here:
+ {{{ http://www.mono-project.com/Getting_Mono}Installing Mono}}
+
+* {Assembly Info}
+
+ Provided that you do not have your own AssemblyInfo class in your project, NMaven will automatically generate
+ an AssemblyInfo.* for you. It does the following mapping:
+
+*-------------------------+--------------------------------------------+
+| AssemblyDescription | $\{project.description\} |
+*-------------------------+--------------------------------------------+
+| AssemblyVersion | $\{project.version\} |
+*-------------------------+--------------------------------------------+
+| AssemblyTitle | $\{project.name\} |
+*-------------------------+--------------------------------------------+
+| AssemblyCompany | $\{project.organization.name\} |
+*-------------------------+--------------------------------------------+
+| AssemblyProduct | $\{project.organization.name\}-$\{project.name\} |
+*-------------------------+--------------------------------------------+
+| AssemblyCopyright | place a COPYRIGHT.txt file in your module directory and NMaven will pick it up and put it in the assembly |
+*-------------------------+--------------------------------------------+
+
+ Since the pom version is mapped to the assembly manifest, you MUST follow the 0.0.0.0 version convention specified by
+ Microsoft (or the build will fail).
+
+* {Unit Testing with NUnit}
+
+ Prior to being able to unit test with NUnit, you must install the nunit.framework.dll into the local maven repository.
+ Go to the scripts directory in the nmaven-plugins download and run the script install-1.1 (.NET 1.1 environment)
+ or install-2.0 (.NET 2.0 environment).
+
+ After installing NUnit, add the org.nunit dependency to your pom.xml (as shown below). You
+ will only need to add the nmaven-test-plugin to the pom under the following circumstances:
+
+ [[1]] If you do not add the nunit bin to your path;
+
+ [[2]] If you have the mono bin in your path and you want to use another installation of NUnit ;
+
+ [[3]] If you have both the mono bin and the NUnit bin in your path and you want to choose a specific one.
+
+ Sample configuration of the test-plugin:
+
++----+
+
+ <project>
+....
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.sample</groupId>
+ <artifactId>csc1</artifactId>
+ <type>module</type>
+ <version>2.0.0.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.nunit</groupId>
+ <artifactId>nunit.framework</artifactId>
+ <version>2.2.8.0</version>
+ <type>library</type>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <sourceDirectory>src/main/csharp</sourceDirectory>
+ <testSourceDirectory>src/test/csharp</testSourceDirectory>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-test-plugin</artifactId>
+ <configuration>
+ <nunitHome>C:\Programs\nunit</nunitHome>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+ On occasion, you may want to use one language for your main classes and another language for your test classes. In this
+ case use the \<testLanguage/> tag as shown below. The \<language/> and \<vendor/> tags are for the main classes and the
+ \<testLanguage/> and \<testVendor/> are for the test classes.
+
++----+
+
+ <project>
+....
+
+ <build>
+...
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <language>C_SHARP</language>
+ <vendor>MONO</vendor>
+ <testLanguage>VB</testLanguage>
+ <testVendor>MICROSOFT</testVendor>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+ NMaven defaults to the 2.0 Framework Version for compiling. To change this to 1.1 (for both the test compile and the
+ main compile), do the following:
+
++----+
+
+<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <language>C_SHARP</language>
+ <vendor>MONO</vendor>
+ <frameworkVersion>1.1.4322</frameworkVersion>
+ <testLanguage>VB</testLanguage>
+ <testVendor>MICROSOFT</testVendor>
+ <testFrameworkVersion>1.1.4322</testFrameworkVersion>
+ </configuration>
+ </plugin>
+</plugins>
+
++----+
+
+ To disable the NUnit tests, add the system property -Dmaven.test.skip=true to the command line. You can also disable
+ tests by adding \<skipTests>true\</skipTests> to the configuration above.
+
+* {Building & Deploying Web Applications}
+
+ To enable building of the Web application, specify the packaging as "nar" - .NET Archive. NMaven will compile
+ classes in the source and test directories and then proceed to place the newly generated artifacts and its dependencies into
+ the target/$\{project.build.finalname\}/bin directory. NMaven will also copy any files from the src/main/webapp directory
+ into the target/$\{project.build.finalname\} directory, allowing you to add any additional resources such as Web.Config and
+ ASPX files.
+
+ You will only need to add the nmaven-webapp-plugin to the pom if you are planning on deploying the web application. In
+ that case, add the deployPath pom configuration as shown below. Type "mvn deploy" from the command line and NMaven will
+ copy the web application to the deployPath location.
+
++----+
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.sample</groupId>
+ <artifactId>webapp</artifactId>
+ <packaging>nar</packaging>
+ <version>2.0.0</version>
+ <name>nar</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.sample</groupId>
+ <artifactId>csc2</artifactId>
+ <type>library</type>
+ <version>2.0.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <sourceDirectory>src/main/csharp</sourceDirectory>
+ <testSourceDirectory>src/test/csharp</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-webapp-plugin</artifactId>
+ <configuration>
+ <deployPath>${MYAPP_HOME}/apps</deployPath>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
++----+
+
+* {Building with .NET Modules}
+
+ Linking all of your .NET libraries to all of the .NET module transitive dependencies is probably not want you want to do.
+ NMaven will only link the modules that are directly specified within the project's pom. For the DotGNU compiler,
+ you can create modules, but (as of yet) there is no way to add them to other libraries during the compile process.
+
+* {Installing Existing Assemblies in the Maven Repository}
+
+ Unlike typical artifacts generated by Maven, the NMaven artifacts in the Maven repository do not include versions
+ in the file name. This has a number of advantages, including not needing to recompile all of your favorite open-source
+ assemblies that you want use as dependencies in your build. To install an artifact, execute a commandline argument
+ (directly or through a script) using the maven-install-plugin:
+
++----+
+ mvn org.apache.maven.plugins:maven-install-plugin:install-file
+ -Dfile=../imports/nunit-2.0/nunit.framework.dll
+ -DgroupId=org.nunit
+ -DartifactId=nunit.framework
+ -Dpackaging=dll
+ -Dversion=2.2.8.0
++----+
+
+ After that, include the dependency in your pom.xml file and you are ready to go.
+
++----+
+ <dependencies>
+ <dependency>
+ <groupId>org.nunit</groupId>
+ <artifactId>nunit.framework</artifactId>
+ <version>2.2.8.0</version>
+ <type>library</type>
+ </dependency>
+ </dependencies>
++----+
+
+* {Generating Resources}
+
+ There are four types of resources to include within an assembly: linked resources, embedded resources,
+ win32 resources and win32 icon. By placing your files in the appropriate directory, NMaven will pick them up
+ and embed/link them during the compile phase.
+
+*-------------------------+--------------------------------------------+
+| src/main/resources/linkresource | Link all files in this directory to the assembly |
+*-------------------------+--------------------------------------------+
+| src/main/resources/resource | Embed all files in this directory to the assembly|
+*-------------------------+--------------------------------------------+
+| src/main/resources/resgen | Generate a resx file from all files in this directory and embed the resource in the assembly |
+*-------------------------+--------------------------------------------+
+| src/main/resources/win32res | Embed the resources in the assembly |
+*-------------------------+--------------------------------------------+
+| src/main/resources/win32icon | Embed the icon within the assembly (icon will show up in file viewer) |
+*-------------------------+--------------------------------------------+
+
Added: incubator/nmaven/trunk/site/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/index.apt?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/index.apt (added)
+++ incubator/nmaven/trunk/site/src/site/apt/index.apt Sun Dec 10 15:43:51 2006
@@ -0,0 +1,15 @@
+About NMaven
+
+ NMaven provides Maven 2.x plugins to support building of .NET applications. Technically, NMaven is its own framework
+ that provides the correct .NET compiler based on the environment (vendor/language/operating system). This framework
+ allows the developer to easily add additional compiler support by implementing the NetCompiler interface and providing
+ a compiler-plugins.xml file in the project directory. NMaven leverages Maven (and its plugin architecture) for the build
+ lifecycle. So you can think of NMaven as a small, compiler-plugin-framework on top of the larger Maven build-framework.
+
+RoadMap
+
+ The primary goal of NMaven is to provide a Maven build environment for all Mono compatible compilers. Specific,
+ near-term goals include:
+
+ * Signing of Assemblies
+
\ No newline at end of file
Added: incubator/nmaven/trunk/site/src/site/apt/plugins/index.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/plugins/index.apt?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/plugins/index.apt (added)
+++ incubator/nmaven/trunk/site/src/site/apt/plugins/index.apt Sun Dec 10 15:43:51 2006
@@ -0,0 +1,17 @@
+Available Plugins
+
+*-----------------------------------------------------------------------------------+----------------------------------+
+| <<Plugin>> | <<Description>>
+*-----------------------------------------------------------------------------------+----------------------------------+
+| {{{maven-compile-plugin/index.html} <<<compile>>>}} | Compiles .NET Applications
+*-----------------------------------------------------------------------------------+----------------------------------+
+| {{{maven-install-plugin/index.html} <<<install>>>}} | Installs Artifacts
+*-----------------------------------------------------------------------------------+----------------------------------+
+| {{{maven-test-plugin/index.html} <<<test>>>}} | Tests class files with NUnit.
+*-----------------------------------------------------------------------------------+----------------------------------+
+| {{{maven-webapp-plugin/index.html} <<<webapp>>>}} | Packages and deploys web applications
+*-----------------------------------------------------------------------------------+----------------------------------+
+| {{{maven-wsdl-plugin/index.html} <<<wsdl>>>}} | Generates WSDLs.
+*-----------------------------------------------------------------------------------+----------------------------------+
+| {{{maven-xsd-plugin/index.html} <<<xsd>>>}} | Generates schema bindings
+*-----------------------------------------------------------------------------------+----------------------------------+
Added: incubator/nmaven/trunk/site/src/site/site.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/site.xml?view=auto&rev=485313
==============================================================================
--- incubator/nmaven/trunk/site/src/site/site.xml (added)
+++ incubator/nmaven/trunk/site/src/site/site.xml Sun Dec 10 15:43:51 2006
@@ -0,0 +1,26 @@
+<project name="NMaven">
+ <bannerRight>
+ <src>http://sflogo.sourceforge.net/sflogo.php?group_id=176362&type=4</src>
+ </bannerRight>
+
+ <body>
+ <links>
+ <item name="Project Site" href="http://sourceforge.net/projects/nmaven/"/>
+ <item name="NMaven" href="http://nmaven.sourceforge.net/"/>
+ <item name="NMaven SVN" href="http://svn.sourceforge.net/viewvc/nmaven/"/>
+ <item name="Maven" href="http://maven.apache.org/"/>
+ <item name="Mono Project" href="http://www.mono-project.com/"/>
+ <item name="DotGNU" href="http://dotgnu.org/"/>
+ </links>
+ <menu name="General Info">
+ <item name="About" href="index.html"/>
+ <item name="Features" href="features.html"/>
+ <item name="Getting Started" href="getting-started.html"/>
+ <item name="Plugins" href="/plugins/index.html"/>
+ <item name="Adding Compilers" href="adding-plugins.html"/>
+ <item name="Configuration" href="environment-configuration.html"/>
+ <item name="Download" href="http://sourceforge.net/project/showfiles.php?group_id=176362"/>
+ </menu>
+ ${reports}
+ </body>
+</project>
\ No newline at end of file
Propchange: incubator/nmaven/trunk/site/src/site/site.xml
------------------------------------------------------------------------------
svn:eol-style = native