diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2011-02-06 13:02:10 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2011-02-06 13:02:10 +0000 |
commit | 7d673e84992beef29c25c5f4dfecc306bd99264e (patch) | |
tree | cf5936b1f97197c3fca6b71813513fb4a3cdca55 /sca-java-2.x/trunk | |
parent | 95f6976945c5b3b4fb7429e9738a5ec18d7c1200 (diff) |
Rename the tuscany plugin 'launch' mojo to be named 'shell' and update it to run the tuscany shell. So now you can run the shell without needing to get any Tuscany distribution by using: mvn org.apache.tuscany.maven.plugins:maven-tuscany-plugin:2.0-SNAPSHOT:shell
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1067654 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk')
2 files changed, 79 insertions, 108 deletions
diff --git a/sca-java-2.x/trunk/maven/maven-tuscany-plugin/src/main/java/org/apache/tuscany/maven/plugin/TuscanyLaunchMojo.java b/sca-java-2.x/trunk/maven/maven-tuscany-plugin/src/main/java/org/apache/tuscany/maven/plugin/TuscanyLaunchMojo.java deleted file mode 100644 index 55b0a51b7f..0000000000 --- a/sca-java-2.x/trunk/maven/maven-tuscany-plugin/src/main/java/org/apache/tuscany/maven/plugin/TuscanyLaunchMojo.java +++ /dev/null @@ -1,108 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.maven.plugin;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.tuscany.sca.domain.node.DomainNode;
-
-/**
- * Maven Mojo to launch a Tuscany runtime
- * Invoked with mvn org.apache.tuscany.maven.plugin:maven-tuscany-plugin:launch [-Ddomain=tribes:myDomain] -Dcontributions=path\to\scacontribution
- *
- * @goal launch
- * @requiresProject false
- * @requiresDependencyResolution runtime
- */
-public class TuscanyLaunchMojo extends AbstractMojo {
-
- /**
- * @parameter expression="${domain}" default-value="vm:default"
- */
- private String domain;
-
- /**
- * @parameter expression="${contributions}"
- */
- private String contributions;
-
- public void execute() throws MojoExecutionException, MojoFailureException {
-
- if (contributions == null) {
- getLog().info("Missing contributions parameter");
- getLog().info(" use -Dcontributions=<pathToSCAContribution,pathToAnotherContribution...>");
- return;
- }
-
- getLog().info("Launching Tuscany Runtime...");
-
- List<String> cs = new ArrayList<String>();
- StringTokenizer st = new StringTokenizer(contributions, ",");
- while (st.hasMoreTokens()) {
- cs.add(st.nextToken());
- }
-
- DomainNode domainNode = new DomainNode(domain, cs.toArray(new String[cs.size()]));
-
- waitForShutdown(domainNode, getLog());
-
- }
-
- protected void waitForShutdown(DomainNode domainNode, Log log) {
- Runtime.getRuntime().addShutdownHook(new ShutdownThread(domainNode, log));
- synchronized (this) {
- try {
- log.info("Ctrl-C to end...");
- this.wait();
- } catch (InterruptedException e) {
- log.error(e);
- }
- }
- }
-
- protected static class ShutdownThread extends Thread {
-
- private DomainNode domainNode;
- private Log log;
-
- public ShutdownThread(DomainNode domainNode, Log log) {
- super();
- this.domainNode = domainNode;
- this.log = log;
- }
-
- @Override
- public void run() {
- try {
-
- log.info("Stopping Tuscany Runtime...");
- domainNode.stop();
-
- } catch (Exception e) {
- log.error(e);
- }
- }
- }
-}
diff --git a/sca-java-2.x/trunk/maven/maven-tuscany-plugin/src/main/java/org/apache/tuscany/maven/plugin/TuscanyShellMojo.java b/sca-java-2.x/trunk/maven/maven-tuscany-plugin/src/main/java/org/apache/tuscany/maven/plugin/TuscanyShellMojo.java new file mode 100644 index 0000000000..1a9545e551 --- /dev/null +++ b/sca-java-2.x/trunk/maven/maven-tuscany-plugin/src/main/java/org/apache/tuscany/maven/plugin/TuscanyShellMojo.java @@ -0,0 +1,79 @@ +/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.maven.plugin;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.tuscany.sca.shell.Shell;
+
+/**
+ * Maven Mojo to run the Tuscany Shell
+ *
+ * Invoked with mvn org.apache.tuscany.maven.plugin:maven-tuscany-plugins:shell [-Ddomain=uri:myDomain] -Dcontributions=path\to\scacontribution,...
+ *
+ * @goal shell
+ * @requiresProject false
+ * @requiresDependencyResolution runtime
+ */
+public class TuscanyShellMojo extends AbstractMojo {
+
+ /**
+ * @parameter expression="${domain}" default-value="default"
+ */
+ private String domain;
+
+ /**
+ * @parameter expression="${contributions}"
+ */
+ private String contributions;
+
+ public void execute() throws MojoExecutionException, MojoFailureException {
+ getLog().info("Starting Tuscany Shell...");
+
+ String[] args;
+ if (contributions != null) {
+ List<String> cs = new ArrayList<String>();
+ StringTokenizer st = new StringTokenizer(contributions, ",");
+ while (st.hasMoreTokens()) {
+ cs.add(st.nextToken());
+ }
+ cs.add(0, domain);
+ args = cs.toArray(new String[cs.size()]);
+ } else {
+ if ("default".equals(domain)) {
+ args = new String[]{};
+ } else {
+ args = new String[]{domain};
+ }
+ }
+
+ try {
+ Shell.main(args);
+ } catch (Exception e) {
+ throw new MojoExecutionException("Exception in Shell", e);
+ }
+
+ getLog().info("Tuscany Shell stopped.");
+ }
+}
|