summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-10-14 09:13:30 +0000
committernash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-10-14 09:13:30 +0000
commit775ae0d8549e59b7f625a91a82cc6b88119cce77 (patch)
tree9d0175e13890bda3bbc8727ca97c4bc7892d30ca
parent08ac4a7b286b567c5a5a1d711a89ca388ba60ff2 (diff)
TUSCANY-3722: Check for correct versions of jaxws-api jar and pom in local maven repository
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1022436 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml37
-rw-r--r--sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/src/main/java/org/apache/tuscany/sca/distribution/CheckLocalRepository.java68
2 files changed, 105 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml b/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml
index e22b783cd5..953884dcd4 100644
--- a/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml
+++ b/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/pom.xml
@@ -36,6 +36,20 @@
<tuscany.version>${pom.version}</tuscany.version>
</properties>
+ <repositories>
+ <!-- search this repository first because it contains the correct version
+ of jaxws-api-2.1.jar -->
+ <repository>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <id>java.net</id>
+ <name>java.net Maven 1.x Repository</name>
+ <url>http://download.java.net/maven/1</url>
+ <layout>legacy</layout>
+ </repository>
+ </repositories>
+
<dependencies>
<dependency>
<groupId>${pom.groupId}</groupId>
@@ -654,6 +668,29 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.1</version>
+ <executions>
+ <execution>
+ <id>check-local-repository</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <executable>java</executable>
+ <arguments>
+ <argument>-cp</argument>
+ <argument>${basedir}/target/classes</argument>
+ <argument>org.apache.tuscany.sca.distribution.CheckLocalRepository</argument>
+ <argument>${settings.localRepository}</argument>
+ </arguments>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
<artifactId>shade-maven-plugin</artifactId>
<version>1.0-alpha-7</version>
<executions>
diff --git a/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/src/main/java/org/apache/tuscany/sca/distribution/CheckLocalRepository.java b/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/src/main/java/org/apache/tuscany/sca/distribution/CheckLocalRepository.java
new file mode 100644
index 0000000000..eee32d7dcb
--- /dev/null
+++ b/sca-java-1.x/branches/sca-java-1.6.1/distribution/bundle/src/main/java/org/apache/tuscany/sca/distribution/CheckLocalRepository.java
@@ -0,0 +1,68 @@
+/*
+ * 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.sca.distribution;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.jar.JarFile;
+
+public class CheckLocalRepository {
+
+ public static void main(String[] args) {
+ String repo = args[0];
+ checkJarFile(repo);
+ checkPomFile(repo);
+ System.exit(0);
+ }
+
+ private static void checkJarFile(String repo) {
+ try {
+ JarFile jaxwsJar = new JarFile(repo + "/javax/xml/ws/jaxws-api/2.1/jaxws-api-2.1.jar");
+ if (jaxwsJar.getEntry("javax/xml/ws/soap/Addressing.class") != null) {
+ return;
+ }
+ } catch (Exception e) {
+ }
+ System.out.println("===================================================================");
+ System.out.println("ERROR: Incorrect version of jaxws-api jar in local maven repository");
+ System.out.println("ERROR: To fix this, delete the javax/xml/ws/jaxws-api/2.1 directory");
+ System.out.println("ERROR: and rerun the distribution build");
+ System.out.println("===================================================================");
+ System.exit(1);
+ }
+
+ private static void checkPomFile(String repo) {
+ try {
+ FileReader jaxwsPom = new FileReader(repo + "/javax/xml/ws/jaxws-api/2.1/jaxws-api-2.1.pom");
+ BufferedReader reader = new BufferedReader(jaxwsPom);
+ while (true) {
+ if (reader.readLine().contains("saaj-api")) {
+ return;
+ }
+ }
+ } catch (Exception e) {
+ }
+ System.out.println("===================================================================");
+ System.out.println("ERROR: Incorrect version of jaxws-api pom in local maven repository");
+ System.out.println("ERROR: To fix this, delete the javax/xml/ws/jaxws-api/2.1 directory");
+ System.out.println("ERROR: and rerun the distribution build");
+ System.out.println("===================================================================");
+ System.exit(1);
+ }
+}