#Maven-461. Thanks to David Zeleznik

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113555 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
evenisse 2003-07-01 05:13:59 +00:00
parent c6ecd68d0e
commit 3db93deabe
5 changed files with 593 additions and 75 deletions

View File

@ -1,78 +1,480 @@
<?xml version="1.0"?>
<project
xmlns:ant="jelly:ant"
<project
xmlns:j="jelly:core"
xmlns:x="jelly:xml">
xmlns:u="jelly:util"
xmlns:def="jelly:define"
xmlns:m="jelly:maven"
xmlns:x="jelly:xml"
xmlns:jbuilder="jbuilder" >
<!--==================================================================-->
<!-- Generate JBuilder [id_project].library files -->
<!--==================================================================-->
<goal name="jbuilder"
description="Generate JBuilder project files"
prereqs="jbuilder:generate-library, jbuilder:generate-project"/>
<def:taglib uri="jbuilder">
<!-- ================================================================== -->
<!-- jbuilder:getDefaultProject -->
<!-- ================================================================== -->
<!-- Determine the JBuilder default project template and user home -->
<!-- directory. -->
<!-- -->
<!-- The following parameters can be used with the getDefaultProject -->
<!-- tag by setting the appropriate attribute when invoking the tag: -->
<!-- -->
<!-- @param project The name of the variable that will contain the -->
<!-- JBuilder default project. -->
<!-- @param userHome The name of the variable that will contain the -->
<!-- JBuilder user home directory. -->
<!-- ================================================================== -->
<def:tag name="getDefaultProject">
<j:set var="jbuilderDirs" value=".jbuilder9,.jbuilder8,.jbuilder7,.jbuilder6,.jbuilder5,.jbuilder4,.jbuilder" />
<j:expr value="${context.setVariable(userHome, null)}" />
<j:expr value="${context.setVariable(project, null)}" />
<u:tokenize var="jbuilderDirList" delim=",">${jbuilderDirs}</u:tokenize>
<j:forEach var="dir" items="${jbuilderDirList}">
<j:set var="home" value="${maven.jbuilder.userHome}/${dir}" />
<j:set var="defaultProject" value="${home}/Default.jpr" />
<u:available file="${defaultProject}">
<j:expr value="${context.setVariable(userHome,home)}" />
<j:expr value="${context.setVariable(project,defaultProject)}" />
<j:break/>
</u:available>
</j:forEach>
</def:tag>
<!-- ================================================================== -->
<!-- jbuilder:generateDependencyLibrary -->
<!-- ================================================================== -->
<!-- Generate a JBuilder library definition from a dependency. If the -->
<!-- dependency is versioned (i.e. is not a snapshot) or if an -->
<!-- unversioned library definition has not been created yet from the -->
<!-- corresponding artifact, then a versioned library definition is -->
<!-- created that refers to the dependency's jar in the local -->
<!-- repository. The versioned library definition is only written if it -->
<!-- is already a dependency library or if it does not already exist. -->
<!-- If the dependency is a snapshot and an unversioned library -->
<!-- definition exists, then the unversioned library name is used for -->
<!-- the purposes of updating the libraryList, but no library -->
<!-- definition is written. -->
<!-- -->
<!-- The following parameters can be used with the -->
<!-- generateDependencyLibrary tag by setting the appropriate attribute -->
<!-- when invoking the tag: -->
<!-- -->
<!-- @param dependency The dependency. -->
<!-- @param userHome The JBuilder user home directory. -->
<!-- @param libraryList Optional name of the variable that contains a -->
<!-- a semi-colon separated list of library names. -->
<!-- If the variable is supplied, then the name of -->
<!-- the generated library will be appended. -->
<!-- @param verbose Optional flag to enable verbose output. -->
<!-- ================================================================== -->
<def:tag name="generateDependencyLibrary">
<j:set var="libraryId" value="${dependency.artifactId}" />
<j:set var="libraryVersion" value="${dependency.version}" />
<!-- The default is to create a versioned library definition that refers
to the jar in the local repository. -->
<j:set var="libraryName" value="${libraryId}-${libraryVersion}" />
<j:if test="${verbose}" >
<echo>Checking dependency ${libraryName} ...</echo>
</j:if>
<j:if test="${userHome != null and userHome.length() gt 0}" >
<j:set var="isSnapshot" value="${libraryVersion.equals('SNAPSHOT')}" />
<j:set var="unversionedLibraryName" value="${libraryId}" />
<j:set var="unversionedLibraryFile" value="${userHome}/${unversionedLibraryName}.library" />
<j:set var="unversionedLibraryExists" value="false" />
<u:available file="${unversionedLibraryFile}">
<j:set var="unversionedLibraryExists" value="true" />
</u:available>
<j:choose>
<!-- We create a versioned library definition that refers to the jar
in the local repo if the dependency itself is versioned (ie. is not
a snapshot) or if an unversioned library definition has not been
created yet from the corresponding artifact. -->
<j:when test="${!isSnapshot or !unversionedLibraryExists}" >
<j:if test="${verbose and isSnapshot}" >
<echo> unversioned library definition not found</echo>
</j:if>
<j:set var="libraryFile" value="${userHome}/${libraryName}.library" />
<j:set var="libraryExists" value="false" />
<u:available file="${libraryFile}">
<j:set var="libraryExists" value="true" />
</u:available>
<!-- Parse the existing library to determine if it was generated from a
maven dependency (i.e. by this tag) -->
<j:set var="mavenGenerated" value="false" />
<j:if test="${libraryExists}" >
<x:parse var="doc" xml="file:/${libraryFile}"/>
<x:set var="root" select="$doc/*" />
<x:set var="mavenElement" select="$root/maven-generated" />
<j:if test="${!mavenElement.isEmpty()}" >
<j:set var="mavenGenerated" value="true" />
<j:set var="libraryType"><x:expr select="$root/maven-generated/libraryType" /></j:set>
</j:if>
</j:if>
<j:if test="${!libraryExists or (mavenGenerated and libraryType == 'dependency') }" >
<j:if test="${verbose}" >
<echo> creating dependent ${libraryFile}</echo>
</j:if>
<j:if test="${!verbose}" >
<echo>Creating dependent ${libraryFile} ...</echo>
</j:if>
<!-- Get optional library source path property. -->
<j:set var="librarySourceProp" value="maven.jbuilder.${libraryName}.librarySource" />
<j:set var="librarySource" value="${context.getVariable(librarySourceProp)}" />
<j:file name="${libraryFile}" prettyPrint="true" xmlns="dummy">
<library>
<x:comment>JBuilder Library Definition File</x:comment>
<fullname>${libraryName}</fullname>
<class>
<path><j:expr value="${maven.repo.local}/${dependency.groupId}/jars/${dependency.artifact}"/></path>
</class>
<j:if test="${librarySource != null and librarySource.length() gt 0}" >
<source>
<path><j:expr value="${librarySource}" /></path>
</source>
</j:if>
<maven-generated>
<libraryType>dependency</libraryType>
</maven-generated>
</library>
</j:file>
</j:if>
</j:when>
<!-- We create a versioned library definition that refers to the jar
in the local repo if the dependency itself is versioned (ie. is not
a snapshot) or if an unversioned library definition has not been
created yet from the corresponding artifact. -->
<j:otherwise>
<j:set var="libraryName" value="${unversionedLibraryName}" />
<j:if test="${verbose}" >
<echo> referencing artifact library ${unversionedLibraryFile}</echo>
</j:if>
</j:otherwise>
</j:choose>
</j:if>
<j:if test="${libraryList != null}" >
<j:set var="libs" value="${context.getVariable(libraryList)}" />
<j:if test="${libs.length() > 0}" >
<j:set var="libs" value="${libs};" />
</j:if>
<j:set var="libs" value="${libs}${libraryName}" />
<j:expr value="${context.setVariable(libraryList,libs)}" />
</j:if>
</def:tag>
<!-- ================================================================== -->
<!-- jbuilder:generateProjectLibrary -->
<!-- ================================================================== -->
<!-- Generate a JBuilder library file from a project. -->
<!-- -->
<!-- The following parameters can be used with the -->
<!-- generateProjectLibrary tag by setting the appropriate attribute -->
<!-- when invoking the tag: -->
<!-- -->
<!-- @param project The project. -->
<!-- @param userHome The JBuilder user home directory. -->
<!-- ================================================================== -->
<def:tag name="generateProjectLibrary">
<j:set var="libraryName" value="${project.artifactId}" />
<j:set var="libraryFile" value="${userHome}/${libraryName}.library" />
<echo>Creating ${libraryFile} ...</echo>
<j:file name="${libraryFile}" prettyPrint="true" xmlns="dummy">
<library>
<x:comment>JBuilder Library Definition File</x:comment>
<fullname>${libraryName}</fullname>
<class>
<path><j:expr value="${maven.build.dest}"/></path>
</class>
<source>
<j:if test="${sourcesPresent}" >
<path><j:expr value="${basedir}/${project.build.sourceDirectory}" /></path>
</j:if>
</source>
<j:forEach var="lib" items="${project.dependencies}">
<required><j:expr value="${lib.artifactId}"/></required>
</j:forEach>
<maven-generated>
<libraryType>project</libraryType>
</maven-generated>
</library>
</j:file>
</def:tag>
</def:taglib>
<!-- ================================================================== -->
<!-- jbuilder:generate-project -->
<!-- ================================================================== -->
<!-- Creates a JBuilder project file. -->
<!-- ================================================================== -->
<goal
name="jbuilder:generate-project"
description="Generate JBuilder [id_project].jpx file">
<!-- This forces the javadoc plugin to load and read its properties -->
<attainGoal name="maven-javadoc-plugin:register" />
<!-- Initialize default values for project properties. If we find a default
JBuilder project, then its values will override some of these. -->
<j:set var="authorLabel" value="@author" />
<j:set var="backupPath" value="bak" />
<j:set var="beansInstantiate" value="false" />
<j:set var="company" value="${pom.organization.name}" />
<j:set var="companyLabel" value="Company: " />
<j:set var="copyrightLabel" value="Copyright: " />
<j:set var="descriptionLabel" value="Description: " />
<j:set var="docPath" value="${pom.getPluginContext('maven-javadoc-plugin').getVariable('maven.javadoc.destdir')}" />
<j:set var="docX" value="${maven.jbuilder.docpath}X" />
<j:if test="${docX != 'X'}" >
<j:set var="docPath" value="${maven.jbuilder.docpath}" />
</j:if>
<j:set var="outPath" value="${maven.jbuilder.outpath}" />
<j:set var="jdk" value="java ${java.vm.version}" />
<j:set var="titleLabel" value="Title: " />
<j:set var="versionLabel" value="@version" />
<j:set var="workingDir" value="." />
<!-- Format the year. -->
<tstamp>
<format property="currentYear" pattern="yyyy" />
</tstamp>
<tstamp>
<j:choose>
<j:when test="${pom.inceptionYear.equals(currentYear)}">
<format property="year" pattern="yyyy"/>
</j:when>
<j:otherwise>
<format property="year" pattern="${pom.inceptionYear}-yyyy"/>
</j:otherwise>
</j:choose>
</tstamp>
<!-- Find and read the JBuilder default project properties. -->
<jbuilder:getDefaultProject project="jbDefaultProject" userHome="jbUserHome" />
<j:if test="${jbDefaultProject == null}" >
<echo>+------------------------------------------------------------------</echo>
<echo>| WARNING!</echo>
<echo>|</echo>
<echo>| A JBuilder installation could not be found. The project files</echo>
<echo>| being created will contain default values.</echo>
<echo>+------------------------------------------------------------------</echo>
</j:if>
<j:if test="${jbDefaultProject != null}" >
<echo>Reading default project ${jbDefaultProject}</echo>
<u:properties file="${jbDefaultProject}" var="defaultProps" />
<j:set var="authorLabel" value="${defaultProps.getProperty('sys[0].AuthorLabel')}" />
<j:set var="backupPath" value="${defaultProps.getProperty('sys[0].BackupPath')}" />
<j:set var="backupPath" value="${backupPath.replaceAll('%%\|', ':')}" />
<j:set var="beansInstantiate" value="${defaultProps.getProperty('sys[0].BeansInstantiate')}" />
<j:set var="companyLabel" value="${defaultProps.getProperty('sys[0].CompanyLabel')}" />
<j:set var="copyrightLabel" value="${defaultProps.getProperty('sys[0].CopyrightLabel')}" />
<j:set var="descriptionLabel" value="${defaultProps.getProperty('sys[0].DescriptionLabel')}" />
<j:set var="titleLabel" value="${defaultProps.getProperty('sys[0].TitleLabel')}" />
<j:set var="versionLabel" value="${defaultProps.getProperty('sys[0].VersionLabel')}" />
<available property="jdkDefPresent" file="${jbUserHome}/${jdk}.library" />
<j:if test="${!jdkDefPresent}">
<echo>+------------------------------------------------------------------</echo>
<echo>| WARNING!</echo>
<echo>|</echo>
<echo>| This project is being configured to use ${jdk}. This</echo>
<echo>| JDK has not been configured yet in your JBuilder installation.</echo>
<echo>| Go to Tools|Configure JDKs.</echo>
<echo>+------------------------------------------------------------------</echo>
</j:if>
<j:set var="defCompany" value="${defaultProps.getProperty('sys[0].Company')}" />
</j:if>
<echo>Creating ${basedir}/${pom.artifactId}.jpx ...</echo>
<!-- Format the copyright notice. -->
<j:set var="copyright" value="Copyright (c) ${year} ${company} - All Rights Reserved." />
<!-- Process the project's dependencies, build the project source path, and
build the list of libraries it requires. -->
<j:set var="includeTestPath" value="0" />
<j:set var="sourcePath" value="${pom.build.sourceDirectory}" />
<j:set var="libraries" value="" />
<j:useList var="testDependencies" />
<!-- If the project has unit tests, add the test source code to the project
path. -->
<j:if test="${unitTestSourcesPresent}" >
<j:set var="includeTestPath" value="1" />
<j:set var="sourcePath" value="${sourcePath};${pom.build.unitTestSourceDirectory}" />
</j:if>
<!-- If the project has resources, add the directories to the project path. -->
<j:if test="${!pom.build.resources.isEmpty()}">
<j:forEach var="resource" items="${pom.build.resources}">
<u:available file="${resource.directory}">
<j:set var="sourcePath" value="${sourcePath};${resource.directory}" />
</u:available>
</j:forEach>
</j:if>
<!-- Convert each of the project's dependencies into a required library. -->
<j:forEach var="lib" items="${pom.dependencies}">
<!-- If the project has a declared dependency on jUnit, we use the
specified version. -->
<j:if test="${lib.artifactId == 'junit'}" >
<j:set var="junitDependency" value="${lib}" />
</j:if>
<jbuilder:generateDependencyLibrary
dependency="${lib}"
userHome="${jbUserHome}"
libraryList="libraries"
verbose="${maven.jbuilder.verbose}" />
</j:forEach>
<!-- Convert each supplemental test dependency into a required library. -->
<j:forEach var="lib" items="${maven.jbuilder.testDependencies}">
<!-- If the project has no declared dependency on jUnit, but a
supplemental test dependency does, we use the version specified by
the test dependency. -->
<j:choose>
<j:when test="${lib.artifactId == 'junit'}" >
<j:if test="${junitDependency == null}">
<j:set var="junitDependency" value="${lib}" />
<jbuilder:generateDependencyLibrary
dependency="${lib}"
userHome="${jbUserHome}"
libraryList="libraries"
verbose="${maven.jbuilder.verbose}" />
</j:if>
</j:when>
<j:otherwise>
<jbuilder:generateDependencyLibrary
dependency="${lib}"
userHome="${jbUserHome}"
libraryList="libraries"
verbose="${maven.jbuilder.verbose}" />
</j:otherwise>
</j:choose>
</j:forEach>
<!-- Finally, if there are unit tests and we still do not have a specific
dependency on jUnit, use the version from the test plugin. -->
<j:if test="${unitTestSourcesPresent and junitDependency == null}" >
<!-- This goal forces the test plugin to be loaded.
TODO: In Maven beta 9, use the special test:eclipse tag instead. -->
<attainGoal name="test:prepare-filesystem" />
<j:set
var="junitDependency"
value="${pom.getPluginContext('maven-test-plugin').getVariable('plugin').getDependency('junit')}" />
<jbuilder:generateDependencyLibrary
dependency="${junitDependency}"
userHome="${jbUserHome}"
libraryList="libraries"
verbose="${maven.jbuilder.verbose}" />
</j:if>
<j:file name="${basedir}/${pom.artifactId}.jpx" prettyPrint="true" xmlns="dummy">
<project>
<x:comment>JBuilder XML Project</x:comment>
<property category="sys" name="Author" value="${maven.username}" />
<property category="sys" name="AuthorLabel" value="${authorLabel}" />
<property category="sys" name="BackupPath" value="${backupPath}" />
<property category="sys" name="BeansInstantiate" value="${beansInstantiate}" />
<property category="sys" name="Company" value="${company}" />
<property category="sys" name="CompanyLabel" value="${companyLabel}" />
<property category="sys" name="Copyright" value="${copyright}" />
<property category="sys" name="CopyrightLabel" value="${copyrightLabel}" />
<property category="sys" name="DefaultPath" value="${pom.build.sourceDirectory}" />
<property category="sys" name="Description" value="${pom.description}" />
<property category="sys" name="DescriptionLabel" value="${descriptionLabel}" />
<property category="sys" name="DocPath" value="${docPath}" />
<property category="sys" name="IncludeTestPath" value="${includeTestPath}" />
<property category="sys" name="JDK" value="${jdk}" />
<property category="sys" name="Libraries" value="${libraries}" />
<property category="sys" name="OutPath" value="${outPath}" />
<property category="sys" name="SourcePath" value="${sourcePath}" />
<property category="sys" name="TestPath" value="${pom.build.unitTestSourceDirectory}" />
<property category="sys" name="Title" value="${pom.name}" />
<property category="sys" name="TitleLabel" value="${titleLabel}" />
<property category="sys" name="Version" value="${pom.currentVersion}" />
<property category="sys" name="VersionLabel" value="${versionLabel}" />
<property category="sys" name="WorkingDirectory" value="${workingDir}" />
<!-- Include any explicitly specified source files -->
<u:tokenize var="sourceFileList" delim=",">${maven.jbuilder.additionalSources}</u:tokenize>
<j:forEach var="file" items="${sourceFileList}">
<u:available file="${file}">
<file path="${file}" />
</u:available>
</j:forEach>
<!-- Write the runtime configurations -->
<j:set var="runtimeIndex" value="0" />
<u:tokenize var="jbuilderAppList" delim=",">${maven.jbuilder.application.classes}</u:tokenize>
<j:forEach var="app" items="${jbuilderAppList}">
<property
category="runtime.${runtimeIndex}"
name="RunnableType"
value="${maven.jbuilder.application.runner}" />
<property
category="runtime.${runtimeIndex}"
name="application.class"
value="${app}" />
<property
category="runtime.${runtimeIndex}"
name="ConfigurationName"
value="${app}" />
<j:set var="runtimeIndex" value="${runtimeIndex + 1}" />
</j:forEach>
<u:tokenize var="jbuilderAppletList" delim=",">${maven.jbuilder.applets.classes}</u:tokenize>
<j:forEach var="applet" items="${jbuilderAppletList}">
<property
category="runtime.${runtimeIndex}"
name="RunnableType"
value="${maven.jbuilder.applet.runner}" />
<property
category="runtime.${runtimeIndex}"
name="applet.class"
value="${applet}" />
<property
category="runtime.${runtimeIndex}"
name="ConfigurationName"
value="${applet}" />
<j:set var="runtimeIndex" value="${runtimeIndex + 1}" />
</j:forEach>
<property category="runtime" name="ConfigurationCount" value="${runtimeIndex - 1}"/>
</project>
</j:file>
</goal>
<!-- ================================================================== -->
<!-- jbuilder:generate-library -->
<!-- ================================================================== -->
<!-- Creates a JBuilder library file. -->
<!-- ================================================================== -->
<goal name="jbuilder:generate-library"
description="Generate JBuilder [id_project].library file">
<ant:echo>Creating ${basedir}/${pom.artifactId}.library ...</ant:echo>
<j:file name="${basedir}/${pom.artifactId}.library" prettyPrint="true" xmlns="dummy">
<library>
<x:comment>JBuilder Library Definition File</x:comment>
<fullname>${pom.artifactId}</fullname>
<class>
<j:if test="${maven.has.jar.resource.patterns}">
<path><j:expr value="[${maven.jarResources.basedir}]"/></path>
</j:if>
<j:if test="${pom.build.testResources != null}">
<j:forEach var="res" items="${pom.build.testResources}">
<path><j:expr value="[${res.directory}]"/></path>
</j:forEach>
</j:if>
<j:if test="${pom.build.unitTest.resources != null}">
<path><j:expr value="[${pom.build.unitTestSourceDirectory}]"/></path>
</j:if>
<j:forEach var="lib" items="${pom.artifacts}">
<!-- Had some problems with whitespace, so use j:expr -->
<path><j:expr value="[${maven.repo.local}${lib.urlPath}]"/></path>
</j:forEach>
</class>
<required>${pom.artifactId}</required>
</library>
</j:file>
</goal>
<goal name="jbuilder:generate-project"
description="Generate JBuilder [id_project].jpx file">
<ant:echo>Creating ${basedir}/${pom.artifactId}.jpx ...</ant:echo>
<j:file name="${basedir}/${pom.artifactId}.jpx" prettyPrint="true" xmlns="dummy">
<x:comment>Project XML JBuilder</x:comment>
<project>
<property category="sys" name="AuthorLabel" value="@author"/>
<property category="sys" name="BackupPath" value="bak"/>
<property category="sys" name="Company" value="${pom.organization.name}"/>
<property category="sys" name="CompanyLabel" value="Company :"/>
<property category="sys" name="Copyright" value="Copyright (c) ${pom.inceptionYear} - ${pom.organization.name}"/>
<property category="sys" name="CopyrightLabel" value="Copyright :"/>
<property category="sys" name="DefaultPath" value="${pom.build.sourceDirectory}"/>
<property category="sys" name="Description" value="${pom.description}"/>
<property category="sys" name="DescriptionLabel" value="Description :"/>
<property category="sys" name="DocPath" value="${maven.jbuilder.docpath}"/>
<property category="sys" name="IncludeTestPath" value="1"/>
<property category="sys" name="OutPath" value="${maven.jbuilder.outpath}"/>
<property category="sys" name="SourcePath" value="${pom.build.sourceDirectory};${pom.build.unitTestSourceDirectory}"/>
<property category="sys" name="TestPath" value="${pom.build.unitTestSourceDirectory}"/>
<property category="sys" name="Title" value="${pom.name}"/>
<property category="sys" name="TitleLabel" value="Title :"/>
<property category="sys" name="Version" value="${pom.currentVersion}"/>
<property category="sys" name="VersionLabel" value="@version"/>
<property category="sys" name="WorkingDirectory" value="."/>
</project>
</j:file>
<!-- Find and read the JBuilder default project properties. -->
<jbuilder:getDefaultProject project="jbDefaultProject" userHome="jbUserHome" />
<j:if test="${jbDefaultProject == null}" >
<fail message="" >
+------------------------------------------------------------------
| ERROR!
|
| A JBuilder installation could not be found.
+------------------------------------------------------------------
</fail>
</j:if>
<jbuilder:generateProjectLibrary
project="${pom}"
userHome="${jbUserHome}" />
<j:forEach var="lib" items="${pom.dependencies}">
<jbuilder:generateDependencyLibrary
dependency="${lib}"
userHome="${jbUserHome}"
verbose="${maven.jbuilder.verbose}" />
</j:forEach>
</goal>
</project>

View File

@ -1,2 +1,30 @@
maven.jbuilder.docpath=target/jbuilder-doc
maven.jbuilder.outpath=target/jbuilder-classes
# -------------------------------------------------------------------
# Default JBuilder properties
# -------------------------------------------------------------------
maven.jbuilder.userHome = ${user.home}
maven.jbuilder.outpath = ${maven.build.dest}
maven.jbuilder.application.runner = com.borland.jbuilder.runtime.ApplicationRunner
maven.jbuilder.applet.runner = com.borland.jbuilder.runtime.AppletRunner
# List of additional files that should be added to the JBuilder project if
# they exist. The default is the standard Maven project files.
maven.jbuilder.additionalSources = project.xml,maven.xml,project.properties
# Optional documentation path. If not defined, the path defined by the javadoc
# plugin will be used.
#maven.jbuilder.docpath = ${maven.build.dir}/jbuilder-doc
# Optional list of test dependencies. The list must be an instance of
# java.util.List and each element of the list must be an instance of
# org.apache.maven.project.Dependency. Therefore, this variable technically
# cannot be initialized in a properties file, it must be initialized via jelly
# code. It is listed here for documentation purposes. In general, the test
# dependencies will be project specific and should be initialized in a pre-goal.
#maven.jbuilder.testDependencies =
# Optional source paths for libraries that refer to versioned jars in the local
# repository. In general, these will be user specific and should go in
# $HOME/build.properties.
#maven.jbuilder.junit-3.8.1.librarySource = [C:/JUnit/src.jar]
#maven.jbuilder.ant-1.5.2.librarySource = C:/apache-ant-1.5.2/src/main
#maven.jbuilder.jnlp-1.2.librarySource = C:/jnlp/src

View File

@ -5,7 +5,7 @@
<pomVersion>3</pomVersion>
<id>maven-jbuilder-plugin</id>
<name>Maven JBuilder Plug-in</name>
<currentVersion>1.2</currentVersion>
<currentVersion>1.3-SNAPSHOT</currentVersion>
<description/>
<shortDescription>JBuilder Plugin for Maven</shortDescription>
<url>http://maven.apache.org/reference/plugins/jbuilder/</url>
@ -34,6 +34,12 @@
</roles>
</developer>
</developers>
<contributors>
<contributor>
<name>David Zeleznik</name>
<email>dzeleznik@ilog.com</email>
</contributor>
</contributors>
<dependencies>
<dependency>
<groupId>commons-jelly</groupId>

View File

@ -6,11 +6,47 @@
</properties>
<body>
<release version="1.3" date="In CVS">
<action dev="evenisse" type="add" due-to="David Zeleznik">
The plugin attempts to find JBuilder's "HOME" directory where it will read the user's default project properties file. The JBuilder "HOME" directory is also where library files are generated.
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
When you generate a JBuilder project file, the plugin iterates through its dependencies. For each dependency, a library definition file is generated for the dependency jar in the local repo. This dependent library file is generated if, and only if, the library file does not already exist or the library file was previously generated the same way (as a dependency on a jar in the local repo).
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
The previous point means that when you generate a jbuilder library definition file directly from a Maven project (using the jbuilder:generate-library goal) you will replace any previous definition of the library that was generated as a jar-only dependency with a library definition that references both the source and class files.
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
For library definitions that remain jar-only references to the local repo, you can specify a path to the corresponding source code via properties.
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
Support has been added for generating JBuilder application and applet runtime configurations from properties.
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
Any resources are added to the JBuilder project source path.
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
Using an optional property, you can specify a list of explicit files that will be included in the JBuilder project if they exist. The default list are project.xml, project.properties, and maven.xml.
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
Added support for JBuilder 9
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
Added maven.jbuilder.verbose property
</action>
<action dev="evenisse" type="add" due-to="David Zeleznik">
Library files that are automatically generated from versioned (not snapshot) artifact dependencies are now versioned themselves. This is also true for snapshot dependencies where an unversioned library file has not been created yet from the corresponding artifact. As before, if an unversioned library file has already been created for a snapshot dependency, the unversioned library will be referenced.
</action>
</release>
<release version="1.2" date="2003/05/04">
<action dev="evenisse" type="add" due-to="Joe Germuska">
Write company, description and title properties in jbuilder project.<br>
Added new <code>maven.juilder-docpath</code> plugin property.<br>
Added new <code>maven.juilder-outpath</code> plugin property.<br>
Write company, description and title properties in jbuilder project.
</action>
<action dev="evenisse" type="add" due-to="Joe Germuska">
Added new <code>maven.juilder-docpath</code> plugin property.
</action>
<action dev="evenisse" type="add" due-to="Joe Germuska">
Added new <code>maven.juilder-outpath</code> plugin property.
</action>
</release>
<release version="1.1" date="2003/04/09">

View File

@ -15,12 +15,12 @@
<th>Description</th>
</tr>
<tr>
<td>maven.juilder.docpath</td>
<td>maven.jbuilder.userHome</td>
<td>Yes</td>
<td>
<p>
Location of documentation used by JBuilder.
Default : target/jbuilder-doc
the JBuilder user home directory.
Default : ${user.home}
</p>
</td>
</tr>
@ -30,7 +30,53 @@
<td>
<p>
Location of output directory used by JBuilder for classes.
Default : target/jbuilder-classes
Default : ${maven.build.dest}
</p>
</td>
</tr>
<tr>
<td>maven.jbuilder.additionalSources</td>
<td>Yes</td>
<td>
<p>
List of additional files that should be added to the JBuilder project if
they exist. The default is the standard Maven project files. All values are
separated by a comma.
Default : project.xml,maven.xml,project.properties
</p>
</td>
</tr>
<tr>
<td>maven.jbuilder.docpath</td>
<td>Yes</td>
<td>
<p>
Optional documentation path. If not defined, the path defined by the javadoc
plugin will be used.
</p>
</td>
</tr>
<tr>
<td>maven.jbuilder.testDependencies</td>
<td>Yes</td>
<td>
<p>
Optional list of test dependencies. The list must be an instance of
java.util.List and each element of the list must be an instance of
org.apache.maven.project.Dependency. Therefore, this variable technically
cannot be initialized in a properties file, it must be initialized via jelly
code. It is listed here for documentation purposes. In general, the test
dependencies will be project specific and should be initialized in a pre-goal.
</p>
</td>
</tr>
<tr>
<td>maven.jbuilder.verbose</td>
<td>Yes</td>
<td>
<p>
The verbose mode for generating the dependency library.
Default : false
</p>
</td>
</tr>