You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2009/05/20 17:07:30 UTC
svn commit: r776725 -
/portals/jetspeed-2/portal/trunk/maven/jetspeed-mvn-maven-plugin/src/main/java/org/apache/jetspeed/maven/plugins/MvnMojo.java
Author: ate
Date: Wed May 20 15:07:29 2009
New Revision: 776725
URL: http://svn.apache.org/viewvc?rev=776725&view=rev
Log:
JS2-877: Document new maven-2 build system
Providing runtime display of available targets for jetspeed:mvn by adding an additional parameter: -Dlist
The presented list is ordered on dependency, e.g. depended targets are listed first, and then on number of dependencies.
Example output from running mvn jetspeed:mvn -Dlist on root Jetspeed pom.xml:
Available jetspeed:mvn targets:
testdb [testdb]
test [test]
proddb [proddb]
demo-install [demo-install]
demo-seed [demo-seed]
min-seed [min-seed]
demo-deploy [demo-deploy]
demo-deploy-min [demo-deploy-min]
demo-deploy-dbpsml [demo-deploy-dbpsml]
test-install [testdb, test-install]
demo-seed-dbpsml [proddb, demo-seed, demo-db, demo-seed-dbpsml]
min-seed-dbpsml [proddb, demo-seed, demo-db, min-seed-dbpsml]
demo-db [proddb, demo-seed, demo-db]
min-db [proddb, min-seed, min-db]
demo-db-psml [proddb, demo-seed, demo-db, demo-seed-dbpsml, demo-db-psml]
demo [demo-install, proddb, demo-seed, demo-db, demo-deploy, demo]
min [demo-install, proddb, demo-seed, demo-db, demo-deploy-min, min]
min-dbpsml [demo-install, proddb, demo-seed, demo-db, demo-deploy-min, demo-deploy-dbpsml, min-seed-dbpsml, min-dbpsml]
demo-dbpsml [proddb, demo-seed, demo-db, demo-seed-dbpsml, demo-db-psml, demo-deploy, demo-deploy-dbpsml, demo-dbpsml]
Modified:
portals/jetspeed-2/portal/trunk/maven/jetspeed-mvn-maven-plugin/src/main/java/org/apache/jetspeed/maven/plugins/MvnMojo.java
Modified: portals/jetspeed-2/portal/trunk/maven/jetspeed-mvn-maven-plugin/src/main/java/org/apache/jetspeed/maven/plugins/MvnMojo.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/maven/jetspeed-mvn-maven-plugin/src/main/java/org/apache/jetspeed/maven/plugins/MvnMojo.java?rev=776725&r1=776724&r2=776725&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/maven/jetspeed-mvn-maven-plugin/src/main/java/org/apache/jetspeed/maven/plugins/MvnMojo.java (original)
+++ portals/jetspeed-2/portal/trunk/maven/jetspeed-mvn-maven-plugin/src/main/java/org/apache/jetspeed/maven/plugins/MvnMojo.java Wed May 20 15:07:29 2009
@@ -23,6 +23,8 @@
import java.io.Writer;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -62,6 +64,42 @@
*/
public class MvnMojo extends AbstractMojo
{
+ private static final Comparator<List<Target>> targetListComparator = new Comparator<List<Target>>()
+ {
+ public int compare(List<Target> o1, List<Target> o2)
+ {
+ for (Target t1 : o1)
+ {
+ for (Target t2 : o2)
+ {
+ if (t1.id == t2.id)
+ {
+ return -1;
+ }
+ }
+ }
+ for (Target t2 : o2)
+ {
+ for (Target t1 : o1)
+ {
+ if (t1.id == t2.id)
+ {
+ return 1;
+ }
+ }
+ }
+ if (o1.size() == o2.size())
+ {
+ return 0;
+ }
+ else if (o1.size() < o2.size())
+ {
+ return -1;
+ }
+ return 1;
+ }
+ };
+
public static class Target
{
public Target()
@@ -119,6 +157,11 @@
protected String target;
/**
+ * @parameter expression="${list}"
+ */
+ protected String list;
+
+ /**
* @parameter
*/
protected Target[] targets;
@@ -197,7 +240,6 @@
for (Target t : targets)
{
- System.out.println("Processing target: "+t);
t.init();
if (t.id == null)
{
@@ -223,6 +265,51 @@
i++;
}
}
+
+ if (list != null)
+ {
+ ArrayList<List<Target>> lists = new ArrayList<List<Target>>();
+ int maxLength = 0;
+ for (Target t : targets)
+ {
+ if (t.id.length() > maxLength)
+ {
+ maxLength = t.id.length();
+ }
+ lists.add(resolveTargets(targetsMap, null, t.id));
+ }
+ Collections.sort(lists, targetListComparator);
+
+ Target t;
+ StringBuffer buffer = new StringBuffer();
+
+ System.out.println();
+ System.out.println("Available jetspeed:mvn targets:");
+ for (List<Target> targetsList : lists)
+ {
+ t = targetsList.get(targetsList.size()-1);
+ buffer.setLength(0);
+ buffer.append(" "+t.id);
+ for (int i = t.id.length(); i < maxLength; i++)
+ {
+ buffer.append(" ");
+ }
+ buffer.append(" [");
+ for (int i = 0, size = targetsList.size(); i < size; i++)
+ {
+ buffer.append(targetsList.get(i).id);
+ if (i <size-1)
+ {
+ buffer.append(", ");
+ }
+ }
+ buffer.append("]");
+ System.out.println(buffer.toString());
+ }
+ System.out.println();
+ return;
+ }
+
String targetId = target;
if (StringUtils.isEmpty(targetId) || targetId.equals("true"))
{
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org