APEXCORE-288 #resolve added group id information to apex app package
Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/commit/c5780754 Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/tree/c5780754 Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/diff/c5780754 Branch: refs/heads/master Commit: c5780754c0f5b5ffc9fdb2a75f52ea58ba7ceb86 Parents: 0b0f914 Author: David Yan <[email protected]> Authored: Tue Dec 15 16:46:58 2015 -0800 Committer: David Yan <[email protected]> Committed: Tue Dec 15 16:46:58 2015 -0800 ---------------------------------------------------------------------- .../src/main/resources/archetype-resources/pom.xml | 1 + .../src/main/resources/archetype-resources/pom.xml | 2 ++ engine/src/main/java/com/datatorrent/stram/cli/DTCli.java | 5 +++++ .../java/com/datatorrent/stram/client/AppPackage.java | 10 +++++++++- .../java/com/datatorrent/stram/client/ConfigPackage.java | 8 ++++++++ .../java/com/datatorrent/stram/client/AppPackageTest.java | 1 + .../com/datatorrent/stram/client/ConfigPackageTest.java | 1 + engine/src/test/resources/testAppPackage/mydtapp/pom.xml | 1 + .../testConfigPackageSrc/META-INF/MANIFEST.MF | 1 + 9 files changed, 29 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/apex-app-archetype/src/main/resources/archetype-resources/pom.xml ---------------------------------------------------------------------- diff --git a/apex-app-archetype/src/main/resources/archetype-resources/pom.xml b/apex-app-archetype/src/main/resources/archetype-resources/pom.xml index 74f320c..d690034 100644 --- a/apex-app-archetype/src/main/resources/archetype-resources/pom.xml +++ b/apex-app-archetype/src/main/resources/archetype-resources/pom.xml @@ -80,6 +80,7 @@ <manifestEntries> <Class-Path>${apex.apppackage.classpath}</Class-Path> <DT-Engine-Version>${apex.version}</DT-Engine-Version> + <DT-App-Package-Group-Id>${project.groupId}</DT-App-Package-Group-Id> <DT-App-Package-Name>${project.artifactId}</DT-App-Package-Name> <DT-App-Package-Version>${project.version}</DT-App-Package-Version> <DT-App-Package-Display-Name>${project.name}</DT-App-Package-Display-Name> http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/apex-conf-archetype/src/main/resources/archetype-resources/pom.xml ---------------------------------------------------------------------- diff --git a/apex-conf-archetype/src/main/resources/archetype-resources/pom.xml b/apex-conf-archetype/src/main/resources/archetype-resources/pom.xml index 42ec2bf..624fb0d 100644 --- a/apex-conf-archetype/src/main/resources/archetype-resources/pom.xml +++ b/apex-conf-archetype/src/main/resources/archetype-resources/pom.xml @@ -19,6 +19,7 @@ </licenses> <properties> + <apex.apppackage.groupid>${groupId}</apex.apppackage.groupid> <apex.apppackage.name>myapexapp</apex.apppackage.name> <apex.apppackage.minversion>1.0.0</apex.apppackage.minversion> <apex.apppackage.maxversion>1.9999.9999</apex.apppackage.maxversion> @@ -106,6 +107,7 @@ </archiverConfig> <archive> <manifestEntries> + <DT-App-Package-Group-Id>${apex.apppackage.groupid}</DT-App-Package-Group-Id> <DT-App-Package-Name>${apex.apppackage.name}</DT-App-Package-Name> <DT-App-Package-Min-Version>${apex.apppackage.minversion}</DT-App-Package-Min-Version> <DT-App-Package-Max-Version>${apex.apppackage.maxversion}</DT-App-Package-Max-Version> http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/engine/src/main/java/com/datatorrent/stram/cli/DTCli.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/com/datatorrent/stram/cli/DTCli.java b/engine/src/main/java/com/datatorrent/stram/cli/DTCli.java index deb0967..7f01b75 100644 --- a/engine/src/main/java/com/datatorrent/stram/cli/DTCli.java +++ b/engine/src/main/java/com/datatorrent/stram/cli/DTCli.java @@ -3435,9 +3435,14 @@ public class DTCli return; } String requiredAppPackageName = cp.getAppPackageName(); + String requiredAppPackageGroupId = cp.getAppPackageGroupId(); if (requiredAppPackageName != null && !requiredAppPackageName.equals(ap.getAppPackageName())) { throw new CliException("Config package requires an app package name of \"" + requiredAppPackageName + "\". The app package given has the name of \"" + ap.getAppPackageName() + "\""); } + if (requiredAppPackageGroupId != null && !requiredAppPackageGroupId.equals(ap.getAppPackageGroupId())) { + throw new CliException("Config package requires an app package group id of \"" + requiredAppPackageGroupId + + "\". The app package given has the groupId of \"" + ap.getAppPackageGroupId() + "\""); + } String requiredAppPackageMinVersion = cp.getAppPackageMinVersion(); if (requiredAppPackageMinVersion != null && VersionInfo.compare(requiredAppPackageMinVersion, ap.getAppPackageVersion()) > 0) { throw new CliException("Config package requires an app package minimum version of \"" + requiredAppPackageMinVersion + "\". The app package given is of version \"" + ap.getAppPackageVersion() + "\""); http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java b/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java index cbe63f2..86ca915 100644 --- a/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java +++ b/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java @@ -44,12 +44,14 @@ public class AppPackage extends JarFile public static final String ATTRIBUTE_DT_ENGINE_VERSION = "DT-Engine-Version"; public static final String ATTRIBUTE_DT_APP_PACKAGE_NAME = "DT-App-Package-Name"; public static final String ATTRIBUTE_DT_APP_PACKAGE_VERSION = "DT-App-Package-Version"; + public static final String ATTRIBUTE_DT_APP_PACKAGE_GROUP_ID = "DT-App-Package-Group-Id"; public static final String ATTRIBUTE_CLASS_PATH = "Class-Path"; public static final String ATTRIBUTE_DT_APP_PACKAGE_DISPLAY_NAME = "DT-App-Package-Display-Name"; public static final String ATTRIBUTE_DT_APP_PACKAGE_DESCRIPTION = "DT-App-Package-Description"; private final String appPackageName; private final String appPackageVersion; + private final String appPackageGroupId; private final String dtEngineVersion; private final String appPackageDescription; private final String appPackageDisplayName; @@ -129,12 +131,13 @@ public class AppPackage extends JarFile Attributes attr = manifest.getMainAttributes(); appPackageName = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_NAME); appPackageVersion = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_VERSION); + appPackageGroupId = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_GROUP_ID); dtEngineVersion = attr.getValue(ATTRIBUTE_DT_ENGINE_VERSION); appPackageDisplayName = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_DISPLAY_NAME); appPackageDescription = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_DESCRIPTION); String classPathString = attr.getValue(ATTRIBUTE_CLASS_PATH); if (appPackageName == null || appPackageVersion == null || classPathString == null) { - throw new IOException("Not a valid app package. Class-Path is missing from MANIFEST.MF"); + throw new IOException("Not a valid app package. App Package Name or Version or Class-Path is missing from MANIFEST.MF"); } classPath.addAll(Arrays.asList(StringUtils.split(classPathString, " "))); directory = contentFolder; @@ -234,6 +237,11 @@ public class AppPackage extends JarFile return appPackageVersion; } + public String getAppPackageGroupId() + { + return appPackageGroupId; + } + public String getAppPackageDescription() { return appPackageDescription; http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/engine/src/main/java/com/datatorrent/stram/client/ConfigPackage.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/com/datatorrent/stram/client/ConfigPackage.java b/engine/src/main/java/com/datatorrent/stram/client/ConfigPackage.java index 622665b..185cb7a 100644 --- a/engine/src/main/java/com/datatorrent/stram/client/ConfigPackage.java +++ b/engine/src/main/java/com/datatorrent/stram/client/ConfigPackage.java @@ -39,6 +39,7 @@ public class ConfigPackage extends JarFile implements Closeable public static final String ATTRIBUTE_DT_CONF_PACKAGE_NAME = "DT-Conf-Package-Name"; public static final String ATTRIBUTE_DT_APP_PACKAGE_NAME = "DT-App-Package-Name"; + public static final String ATTRIBUTE_DT_APP_PACKAGE_GROUP_ID = "DT-App-Package-Group-Id"; public static final String ATTRIBUTE_DT_APP_PACKAGE_MIN_VERSION = "DT-App-Package-Min-Version"; public static final String ATTRIBUTE_DT_APP_PACKAGE_MAX_VERSION = "DT-App-Package-Max-Version"; public static final String ATTRIBUTE_DT_CONF_PACKAGE_DESCRIPTION = "DT-Conf-Package-Description"; @@ -47,6 +48,7 @@ public class ConfigPackage extends JarFile implements Closeable private final String configPackageName; private final String appPackageName; + private final String appPackageGroupId; private final String appPackageMinVersion; private final String appPackageMaxVersion; private final String configPackageDescription; @@ -74,6 +76,7 @@ public class ConfigPackage extends JarFile implements Closeable Attributes attr = manifest.getMainAttributes(); configPackageName = attr.getValue(ATTRIBUTE_DT_CONF_PACKAGE_NAME); appPackageName = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_NAME); + appPackageGroupId = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_GROUP_ID); appPackageMinVersion = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_MIN_VERSION); appPackageMaxVersion = attr.getValue(ATTRIBUTE_DT_APP_PACKAGE_MAX_VERSION); configPackageDescription = attr.getValue(ATTRIBUTE_DT_CONF_PACKAGE_DESCRIPTION); @@ -122,6 +125,11 @@ public class ConfigPackage extends JarFile implements Closeable return appPackageName; } + public String getAppPackageGroupId() + { + return appPackageGroupId; + } + public String getAppPackageMinVersion() { return appPackageMinVersion; http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java ---------------------------------------------------------------------- diff --git a/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java b/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java index 0d284cf..5400930 100644 --- a/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java +++ b/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java @@ -82,6 +82,7 @@ public class AppPackageTest @Test public void testAppPackage() throws Exception { + Assert.assertEquals("com.example", json.getString("appPackageGroupId")); Assert.assertEquals("mydtapp", json.getString("appPackageName")); Assert.assertEquals("1.0-SNAPSHOT", json.getString("appPackageVersion")); Assert.assertEquals("3.2.0-incubating", json.getString("dtEngineVersion")); http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/engine/src/test/java/com/datatorrent/stram/client/ConfigPackageTest.java ---------------------------------------------------------------------- diff --git a/engine/src/test/java/com/datatorrent/stram/client/ConfigPackageTest.java b/engine/src/test/java/com/datatorrent/stram/client/ConfigPackageTest.java index 651f56d..c09bc84 100644 --- a/engine/src/test/java/com/datatorrent/stram/client/ConfigPackageTest.java +++ b/engine/src/test/java/com/datatorrent/stram/client/ConfigPackageTest.java @@ -98,6 +98,7 @@ public class ConfigPackageTest @Test public void testConfigPackage() throws Exception { + Assert.assertEquals("com.example", json.getString("appPackageGroupId")); Assert.assertEquals("mydtapp", json.getString("appPackageName")); Assert.assertEquals("1.0", json.getString("appPackageMinVersion")); Assert.assertEquals("1.9999", json.getString("appPackageMaxVersion")); http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/engine/src/test/resources/testAppPackage/mydtapp/pom.xml ---------------------------------------------------------------------- diff --git a/engine/src/test/resources/testAppPackage/mydtapp/pom.xml b/engine/src/test/resources/testAppPackage/mydtapp/pom.xml index 9d2ea7d..4ba5870 100644 --- a/engine/src/test/resources/testAppPackage/mydtapp/pom.xml +++ b/engine/src/test/resources/testAppPackage/mydtapp/pom.xml @@ -119,6 +119,7 @@ <manifestEntries> <Class-Path>${apex.apppackage.classpath}</Class-Path> <DT-Engine-Version>${apex.version}</DT-Engine-Version> + <DT-App-Package-Group-Id>${project.groupId}</DT-App-Package-Group-Id> <DT-App-Package-Name>${project.artifactId}</DT-App-Package-Name> <DT-App-Package-Version>${project.version}</DT-App-Package-Version> <DT-App-Package-Display-Name>${project.name}</DT-App-Package-Display-Name> http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/c5780754/engine/src/test/resources/testConfigPackage/testConfigPackageSrc/META-INF/MANIFEST.MF ---------------------------------------------------------------------- diff --git a/engine/src/test/resources/testConfigPackage/testConfigPackageSrc/META-INF/MANIFEST.MF b/engine/src/test/resources/testConfigPackage/testConfigPackageSrc/META-INF/MANIFEST.MF index efacab4..7edd658 100644 --- a/engine/src/test/resources/testConfigPackage/testConfigPackageSrc/META-INF/MANIFEST.MF +++ b/engine/src/test/resources/testConfigPackage/testConfigPackageSrc/META-INF/MANIFEST.MF @@ -5,6 +5,7 @@ Built-By: dtdeveloper Build-Jdk: 1.6.0_45 DT-App-Package-Max-Version: 1.9999 DT-App-Package-Min-Version: 1.0 +DT-App-Package-Group-Id: com.example DT-App-Package-Name: mydtapp DT-Conf-Package-Description: My DataTorrent Application Configuration Description
