brett 2003/08/20 05:42:37
Modified: src/plugins-build/jdee plugin.jelly
src/plugins-build/jbuilder plugin.jelly plugin.properties
Log:
PR: MAVEN-458
Fixes for incorrect usage of dependencies instead of artifacts
Revision Changes Path
1.5 +1 -1 maven/src/plugins-build/jdee/plugin.jelly
Index: plugin.jelly
===================================================================
RCS file: /home/cvs/maven/src/plugins-build/jdee/plugin.jelly,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- plugin.jelly 20 Aug 2003 12:37:18 -0000 1.4
+++ plugin.jelly 20 Aug 2003 12:42:37 -0000 1.5
@@ -52,7 +52,7 @@
</j:if>
<!-- now iterate through all dependencies -->
<j:forEach var="lib" items="${pom.artifacts}">
-"${maven.repo.local}${lib.urlPath}" <j:whitespace />
+"${lib.path}" <j:whitespace />
</j:forEach>
)))))
</j:file>
1.13 +59 -51 maven/src/plugins-build/jbuilder/plugin.jelly
Index: plugin.jelly
===================================================================
RCS file: /home/cvs/maven/src/plugins-build/jbuilder/plugin.jelly,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- plugin.jelly 19 Aug 2003 04:45:08 -0000 1.12
+++ plugin.jelly 20 Aug 2003 12:42:37 -0000 1.13
@@ -2,6 +2,7 @@
<project
xmlns:j="jelly:core"
+ xmlns:ant="jelly:ant"
xmlns:u="jelly:util"
xmlns:def="jelly:define"
xmlns:m="jelly:maven"
@@ -44,9 +45,9 @@
</def:tag>
<!-- ================================================================== -->
- <!-- jbuilder:generateDependencyLibrary -->
+ <!-- jbuilder:generateArtifactLibrary -->
<!-- ================================================================== -->
- <!-- Generate a JBuilder library definition from a dependency. If the -->
+ <!-- Generate a JBuilder library definition from an artifact. 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 -->
@@ -59,10 +60,10 @@
<!-- definition is written. -->
<!-- -->
<!-- The following parameters can be used with the -->
- <!-- generateDependencyLibrary tag by setting the appropriate attribute -->
+ <!-- generateArtifactLibrary tag by setting the appropriate attribute -->
<!-- when invoking the tag: -->
<!-- -->
- <!-- @param dependency The dependency. -->
+ <!-- @param artifact The artifact. -->
<!-- @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. -->
@@ -70,14 +71,14 @@
<!-- 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}" />
+ <def:tag name="generateArtifactLibrary">
+ <j:set var="libraryId" value="${artifact.dependency.artifactId}" />
+ <j:set var="libraryVersion" value="${artifact.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>
+ <ant:echo>Checking dependency ${libraryName} ...</ant:echo>
</j:if>
<j:if test="${userHome != null and userHome.length() gt 0}" >
<j:set var="isSnapshot" value="${libraryVersion.equals('SNAPSHOT')}" />
@@ -95,7 +96,7 @@
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>
+ <ant:echo> unversioned library definition not found</ant:echo>
</j:if>
<j:set var="libraryFile" value="${userHome}/${libraryName}.library" />
<j:set var="libraryExists" value="false" />
@@ -118,10 +119,10 @@
<j:if test="${!libraryExists or (mavenGenerated and libraryType ==
'dependency') }" >
<j:if test="${verbose}" >
- <echo> creating dependent ${libraryFile}</echo>
+ <ant:echo> creating dependent ${libraryFile}</ant:echo>
</j:if>
<j:if test="${!verbose}" >
- <echo>Creating dependent ${libraryFile} ...</echo>
+ <ant:echo>Creating dependent ${libraryFile} ...</ant:echo>
</j:if>
<!-- Get optional library source path property. -->
@@ -133,7 +134,7 @@
<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>
+ <path><j:expr value="${artifact.path}"/></path>
</class>
<j:if test="${librarySource != null and librarySource.length() gt
0}" >
<source>
@@ -156,7 +157,7 @@
<j:otherwise>
<j:set var="libraryName" value="${unversionedLibraryName}" />
<j:if test="${verbose}" >
- <echo> referencing artifact library ${unversionedLibraryFile}</echo>
+ <ant:echo> referencing artifact library
${unversionedLibraryFile}</ant:echo>
</j:if>
</j:otherwise>
</j:choose>
@@ -187,7 +188,7 @@
<def:tag name="generateProjectLibrary">
<j:set var="libraryName" value="${project.artifactId}" />
<j:set var="libraryFile" value="${userHome}/${libraryName}.library" />
- <echo>Creating ${libraryFile} ...</echo>
+ <ant:echo>Creating ${libraryFile} ...</ant:echo>
<j:file name="${libraryFile}" prettyPrint="true" xmlns="dummy">
<library>
<x:comment>JBuilder Library Definition File</x:comment>
@@ -261,15 +262,15 @@
<!-- 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>
+
<ant:echo>+------------------------------------------------------------------</ant:echo>
+ <ant:echo>| WARNING!</ant:echo>
+ <ant:echo>|</ant:echo>
+ <ant:echo>| A JBuilder installation could not be found. The project
files</ant:echo>
+ <ant:echo>| being created will contain default values.</ant:echo>
+
<ant:echo>+------------------------------------------------------------------</ant:echo>
</j:if>
<j:if test="${jbDefaultProject != null}" >
- <echo>Reading default project ${jbDefaultProject}</echo>
+ <ant:echo>Reading default project ${jbDefaultProject}</ant: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')}" />
@@ -282,18 +283,18 @@
<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>
+
<ant:echo>+------------------------------------------------------------------</ant:echo>
+ <ant:echo>| WARNING!</ant:echo>
+ <ant:echo>|</ant:echo>
+ <ant:echo>| This project is being configured to use ${jdk}. This</ant:echo>
+ <ant:echo>| JDK has not been configured yet in your JBuilder
installation.</ant:echo>
+ <ant:echo>| Go to Tools|Configure JDKs.</ant:echo>
+
<ant:echo>+------------------------------------------------------------------</ant:echo>
</j:if>
<j:set var="defCompany"
value="${defaultProps.getProperty('sys[0].Company')}" />
</j:if>
- <echo>Creating ${basedir}/${pom.artifactId}.jpx ...</echo>
+ <ant:echo>Creating ${basedir}/${pom.artifactId}.jpx ...</ant:echo>
<!-- Format the copyright notice. -->
<j:set var="copyright" value="Copyright (c) ${year} ${company} - All Rights
Reserved." />
@@ -303,7 +304,6 @@
<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}" >
@@ -319,37 +319,45 @@
</j:forEach>
</j:if>
<!-- Convert each of the project's dependencies into a required library. -->
- <j:forEach var="lib" items="${pom.dependencies}">
+ <j:forEach var="lib" items="${pom.artifacts}">
<!-- 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 test="${lib.dependency.artifactId == 'junit'}" >
+ <j:set var="junitArtifact" value="${lib}" />
</j:if>
- <jbuilder:generateDependencyLibrary
- dependency="${lib}"
+ <jbuilder:generateArtifactLibrary
+ artifact="${lib}"
userHome="${jbUserHome}"
libraryList="libraries"
verbose="${maven.jbuilder.verbose}" />
</j:forEach>
+ <!-- TODO: temporary -->
+ <j:set var="testDependencies" value="${maven.jbuilder.testDependencies}" />
+ <j:if test="${testDependencies != null and !testDependencies.isEmpty()}">
+ <ant:fail>
+ maven.jbuilder.testDependencies must be replaced with
+ maven.jbuilder.testArtifacts, using artifacts instead of dependencies
+ </ant:fail>
+ </j:if>
<!-- Convert each supplemental test dependency into a required library. -->
- <j:forEach var="lib" items="${maven.jbuilder.testDependencies}">
+ <j:forEach var="lib" items="${maven.jbuilder.testArtifacts}">
<!-- 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}"
+ <j:when test="${lib.dependency.artifactId == 'junit'}" >
+ <j:if test="${junitArtifact == null}">
+ <j:set var="junitArtifact" value="${lib}" />
+ <jbuilder:generateArtifactLibrary
+ artifact="${lib}"
userHome="${jbUserHome}"
libraryList="libraries"
verbose="${maven.jbuilder.verbose}" />
</j:if>
</j:when>
<j:otherwise>
- <jbuilder:generateDependencyLibrary
- dependency="${lib}"
+ <jbuilder:generateArtifactLibrary
+ artifact="${lib}"
userHome="${jbUserHome}"
libraryList="libraries"
verbose="${maven.jbuilder.verbose}" />
@@ -358,15 +366,15 @@
</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}" >
+ <j:if test="${unitTestSourcesPresent and junitArtifact == 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}"
+ var="junitArtifact"
+
value="${pom.getPluginContext('maven-test-plugin').getVariable('plugin').getArtifact('junit')}"
/>
+ <jbuilder:generateArtifactLibrary
+ artifact="${junitArtifact}"
userHome="${jbUserHome}"
libraryList="libraries"
verbose="${maven.jbuilder.verbose}" />
@@ -471,9 +479,9 @@
project="${pom}"
userHome="${jbUserHome}" />
- <j:forEach var="lib" items="${pom.dependencies}">
- <jbuilder:generateDependencyLibrary
- dependency="${lib}"
+ <j:forEach var="lib" items="${pom.artifacts}">
+ <jbuilder:generateArtifactLibrary
+ artifact="${lib}"
userHome="${jbUserHome}"
verbose="${maven.jbuilder.verbose}" />
</j:forEach>
1.4 +3 -3 maven/src/plugins-build/jbuilder/plugin.properties
Index: plugin.properties
===================================================================
RCS file: /home/cvs/maven/src/plugins-build/jbuilder/plugin.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- plugin.properties 29 Jul 2003 11:07:41 -0000 1.3
+++ plugin.properties 20 Aug 2003 12:42:37 -0000 1.4
@@ -15,13 +15,13 @@
# plugin will be used.
#maven.jbuilder.docpath = ${maven.build.dir}/jbuilder-doc
-# Optional list of test dependencies. The list must be an instance of
+# Optional list of test artifacts. 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
+# org.apache.maven.repository.Artifact. 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 =
+#maven.jbuilder.testArtifacts =
# 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
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]