You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ra...@apache.org on 2014/11/06 17:52:12 UTC
[14/17] re-arrange server and clint code to create seperate
distributions. AIRAVATA-1471
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/workflow/workflowAPIConstants.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/workflow/workflowAPIConstants.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/workflow/workflowAPIConstants.java
deleted file mode 100644
index 8aeaead..0000000
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/workflow/workflowAPIConstants.java
+++ /dev/null
@@ -1,56 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-package org.apache.airavata.api.workflow;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("all") public class workflowAPIConstants {
-
- public static final String AIRAVATA_API_VERSION = "0.13.0";
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/api-server/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/api-server/pom.xml b/modules/distribution/api-server/pom.xml
new file mode 100644
index 0000000..ca2d60d
--- /dev/null
+++ b/modules/distribution/api-server/pom.xml
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--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. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>distribution</artifactId>
+ <version>0.14-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>apache-api-server</artifactId>
+ <name>API server distribution</name>
+ <packaging>pom</packaging>
+ <url>http://airavata.apache.org/</url>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.8</version>
+ <executions>
+ <execution>
+ <id>unpack</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-server-configuration</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </artifactItem>
+ </artifactItems>
+ <!--includes>**/*.war</includes-->
+ <outputDirectory>${project.build.directory}/conf</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>gmaven-plugin</artifactId>
+ <version>1.4</version>
+ <executions>
+ <execution>
+ <id>generate-timestamp</id>
+ <phase>package</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <source>
+ import java.util.Date
+ import java.text.MessageFormat
+ project.properties['buildTimestamp'] =
+ MessageFormat.format("{0,date,dd-MM-yyyy}", new
+ Date())
+ </source>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>distribution-package</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <finalName>${archieve.name}-${project.version}</finalName>
+ <descriptors>
+ <descriptor>src/main/assembly/bin-assembly.xml</descriptor>
+ <!-- <descriptor>src/main/assembly/src-assembly.xml</descriptor> -->
+ </descriptors>
+ <attach>false</attach>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <id>attach-artifacts</id>
+ <phase>package</phase>
+ <goals>
+ <goal>attach-artifact</goal>
+ </goals>
+ <configuration>
+ <artifacts>
+ <artifact>
+ <file>${airavata.bin.zip}</file>
+ <type>zip</type>
+ <classifier>bin</classifier>
+ </artifact>
+ <artifact>
+ <file>${airavata.bin.tar.gz}</file>
+ <type>tar.gz</type>
+ <classifier>bin</classifier>
+ </artifact>
+ </artifacts>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-standalone-server</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-api-server</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-orchestrator-stubs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-data-models</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-model-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-common-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-jpa-registry</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>app-catalog-cpi</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>app-catalog-data</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <version>${thrift.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${org.slf4j.version}</version>
+ </dependency>
+ <!-- zookeeper dependencies -->
+ <dependency>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ <version>3.4.0</version>
+ </dependency>
+ </dependencies>
+
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <archieve.name>apache-api-server</archieve.name>
+ <airavata.dist.name>${archieve.name}-${project.version}</airavata.dist.name>
+ <airavata.work.dir>${project.build.directory}/tests/${airavata.dist.name}</airavata.work.dir>
+ <airavata.bin.zip>${project.build.directory}/${airavata.dist.name}-bin.zip</airavata.bin.zip>
+ <airavata.bin.tar.gz>${project.build.directory}/${airavata.dist.name}-bin.tar.gz</airavata.bin.tar.gz>
+ </properties>
+</project>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/api-server/src/main/assembly/bin-assembly.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/api-server/src/main/assembly/bin-assembly.xml b/modules/distribution/api-server/src/main/assembly/bin-assembly.xml
new file mode 100644
index 0000000..e306ad1
--- /dev/null
+++ b/modules/distribution/api-server/src/main/assembly/bin-assembly.xml
@@ -0,0 +1,137 @@
+<!--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. -->
+
+<!DOCTYPE assembly [
+ <!ELEMENT assembly (id|includeBaseDirectory|baseDirectory|formats|fileSets|dependencySets)*>
+ <!ELEMENT id (#PCDATA)>
+ <!ELEMENT includeBaseDirectory (#PCDATA)>
+ <!ELEMENT baseDirectory (#PCDATA)>
+ <!ELEMENT formats (format)*>
+ <!ELEMENT format (#PCDATA)>
+ <!ELEMENT fileSets (fileSet)*>
+ <!ELEMENT fileSet (directory|outputDirectory|includes)*>
+ <!ELEMENT directory (#PCDATA)>
+ <!ELEMENT outputDirectory (#PCDATA)>
+ <!ELEMENT includes (include)*>
+ <!ELEMENT include (#PCDATA)>
+ <!ELEMENT dependencySets (dependencySet)*>
+ <!ELEMENT dependencySet (outputDirectory|includes)*>
+ ]>
+<assembly>
+ <id>bin</id>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <baseDirectory>${archieve.name}-${version}</baseDirectory>
+ <formats>
+ <format>tar.gz</format>
+ <format>zip</format>
+ </formats>
+
+ <fileSets>
+
+ <!-- ********************** copy release notes files ********************** -->
+ <fileSet>
+ <directory>../../../</directory>
+ <outputDirectory>.</outputDirectory>
+ <includes>
+ <include>RELEASE_NOTES</include>
+ </includes>
+ </fileSet>
+ <!-- ********************** copy licenses, readme etc. ********************** -->
+ <fileSet>
+ <directory>src/main/resources/</directory>
+ <outputDirectory>.</outputDirectory>
+ <includes>
+ <include>LICENSE</include>
+ <include>NOTICE</include>
+ <include>README</include>
+ <include>INSTALL</include>
+ </includes>
+ </fileSet>
+
+ <!-- ********************** copy database scripts ********************** -->
+ <fileSet>
+ <directory>../../registry/airavata-jpa-registry/src/main/resources
+ </directory>
+ <outputDirectory>bin/database_scripts
+ </outputDirectory>
+ <includes>
+ <include>*sql*</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>../../app-catalog/app-catalog-data/src/main/resources
+ </directory>
+ <outputDirectory>bin/database_scripts
+ </outputDirectory>
+ <includes>
+ <include>*sql*</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/resources/bin</directory>
+ <outputDirectory>bin</outputDirectory>
+ <fileMode>777</fileMode>
+ <includes>
+ <include>*.sh</include>
+ <include>*.bat</include>
+ <include>logo.txt</include>
+ <include>startNetworkServer</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.build.directory}/conf</directory>
+ <outputDirectory>bin</outputDirectory>
+ <includes>
+ <include>airavata-server.properties</include>
+ <include>zoo.cfg</include>
+ <include>log4j.properties</include>
+ <include>host.xml</include>
+ <include>persistence.xml</include>
+ <include>provenance.sql</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+
+ <dependencySets>
+ <dependencySet>
+ <outputDirectory>lib</outputDirectory>
+ <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}
+ </outputFileNameMapping>
+ <includes>
+ <include>org.apache.derby:derby:jar</include>
+ <include>org.apache.derby:derbytools:jar</include>
+ <include>org.apache.derby:derbynet:jar</include>
+ <include>org.apache.derby:derbyclient:jar</include>
+ </includes>
+ </dependencySet>
+ <dependencySet>
+ <outputDirectory>lib</outputDirectory>
+ <includes>
+ <include>org.apache.airavata:airavata-standalone-server:jar
+ </include>
+ <include>org.apache.airavata:airavata-common-utils:jar</include>
+ <include>org.apache.airavata:airavata-registry-cpi:jar</include>
+ <include>org.apache.airavata:airavata-jpa-registry:jar</include>
+ <include>org.apache.airavata:app-catalog-cpi:jar</include>
+ <include>org.apache.airavata:app-catalog-data:jar</include>
+ <include>org.apache.airavata:airavata-data-models:jar</include>
+ <include>org.apache.airavata:airavata-credential-store:jar</include>
+ <include>org.apache.airavata:airavata-message-monitor:jar</include>
+ <include>org.apache.airavata:airavata-messenger-client:jar</include>
+ <include>org.apache.openjpa:openjpa-all:jar</include>
+ <include>org.apache.zookeeper:zookeeper</include>
+
+ </includes>
+ </dependencySet>
+
+ </dependencySets>
+
+</assembly>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/api-server/src/main/assembly/src-assembly.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/api-server/src/main/assembly/src-assembly.xml b/modules/distribution/api-server/src/main/assembly/src-assembly.xml
new file mode 100644
index 0000000..c2bed4f
--- /dev/null
+++ b/modules/distribution/api-server/src/main/assembly/src-assembly.xml
@@ -0,0 +1,74 @@
+<!--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.
+ -->
+
+<assembly>
+ <id>src</id>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <baseDirectory>${archieve.name}-${version}</baseDirectory>
+ <formats>
+ <format>tar.gz</format>
+ <format>zip</format>
+ </formats>
+
+ <fileSets>
+ <fileSet>
+ <directory>../..</directory>
+ <outputDirectory></outputDirectory>
+ <includes>
+ <include>NOTICE</include>
+ <include>LICENSE</include>
+ <include>README</include>
+ <include>RELEASE_NOTES</include>
+ <include>DISCLAIMER</include>
+ <include>INSTALL</include>
+ </includes>
+ <filtered>true</filtered>
+ </fileSet>
+ <fileSet>
+ <directory>../..</directory>
+ <outputDirectory></outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <includes>
+ <include>pom.xml</include>
+ <include>airavata-api/airavata-api-server/**</include>
+ </includes>
+
+ <excludes>
+ <!-- Exclusions from org.apache.resources:apache-source-release-assembly-descriptor.
+ Note that they assume that all sources are located under an "src" directory. This
+ is not the case for Axis2, which doesn't use the standard Maven 2 conventions.
+ Thus we may still encounter some issues here. -->
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${project.build.directory}.*]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]</exclude>
+ <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]</exclude>
+ </excludes>
+
+ </fileSet>
+ </fileSets>
+</assembly>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a133fa8c/modules/distribution/api-server/src/main/resources/INSTALL
----------------------------------------------------------------------
diff --git a/modules/distribution/api-server/src/main/resources/INSTALL b/modules/distribution/api-server/src/main/resources/INSTALL
new file mode 100644
index 0000000..0324e61
--- /dev/null
+++ b/modules/distribution/api-server/src/main/resources/INSTALL
@@ -0,0 +1,55 @@
+Installing Apache Airavata 0.11
+-------------------------------
+
+Prerequisites
+-------------
+Java 1.5 or later
+Maven (tested on v 3.0.2)
+
+Build Apache Airavata from Source
+---------------------------------
+* Unzip/untar the source file or check out from svn.
+* cd to project folder and type
+ $ mvn clean install
+ Note: in order to skip tests use the command
+ $ mvn clean install -Dmaven.test.skip=true
+* The compressed binary distribution is created at <PROJECT DIR>/modules/distribution/airavata-server/target/apache-airavata-server-<airavata-version>-bin.zip
+
+Installing the Airavata Server
+------------------------------
+No installation is necessary. Just extract the compressed distribution.
+Note: For customizing the default configurations of the Airavata Server please
+ refer to Airavata web-site (http://airavata.apache.org/) and/or Airavata
+ mailing lists (http://airavata.apache.org/community/mailing-lists.html)
+
+Starting Apache Airavata Server
+-------------------------------
+* Navigate to <AIRAVATA_HOME>/bin
+* type for following command to start the Airavata Server
+ MAC/Unix systems
+ $ sh airavata-server.sh
+ Windows
+ > airavata-server.bat
+ Note: Pass "-h" as parameters to see more options when starting the server
+
+Starting Apache Derby Server
+-------------------------------
+Users have the option to star the derby server separately
+* Navigate to <AIRAVATA_HOME>/bin
+* type for following command to start the Airavata Server
+ MAC/Unix systems
+ $ sh derby.sh
+ Windows
+ <Not supported in this version>
+ Note: Pass "-h" as parameters to see more options when starting the server
+
+Running Tests
+-------------
+Once the binary is unzipped, instructions to run the tests should be followed from README
+
+Tutorials
+----------
+The airavata website has instructions for basic tutorials:
+* For basic understanding of how Airavata works - http://airavata.apache.org/documentation/tutorials/airavata-in-5-minutes.html
+* Describing and executing applications using Airavata - http://airavata.apache.org/documentation/tutorials/airavata-in-10-minutes.html
+* Advanced tutorial to provide understanding of how to run sample workflows distributed with Airavata - http://airavata.apache.org/documentation/tutorials/advanced-workflow-samples.html