You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2019/06/05 11:08:09 UTC

[ignite] 06/31: GG-18939 Web Console: Fixed dependency generation for Ignite CE libraries. #57

This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch gg-19225
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit c4e0f962fef48f4274e028f5e3222f8a7427b4d2
Author: Vasiliy Sisko <vs...@gridgain.com>
AuthorDate: Thu May 30 15:34:03 2019 +0700

    GG-18939 Web Console: Fixed dependency generation for Ignite CE libraries. #57
    
    (cherry picked from commit f4a199027f34f258cb2b4660b47d41c8fe2034a7)
---
 .../generator/generator/Maven.service.js           | 59 ++++++++++++----------
 1 file changed, 32 insertions(+), 27 deletions(-)

diff --git a/modules/web-console/frontend/app/configuration/generator/generator/Maven.service.js b/modules/web-console/frontend/app/configuration/generator/generator/Maven.service.js
index 7df7c12..9e4e301 100644
--- a/modules/web-console/frontend/app/configuration/generator/generator/Maven.service.js
+++ b/modules/web-console/frontend/app/configuration/generator/generator/Maven.service.js
@@ -1,12 +1,12 @@
 /*
  * Copyright 2019 GridGain Systems, Inc. and Contributors.
- * 
+ *
  * Licensed under the GridGain Community Edition License (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *     https://www.gridgain.com/products/software/community-edition/gridgain-community-edition-license
- * 
+ *
  * 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.
@@ -52,14 +52,14 @@ export default class IgniteMavenGenerator {
         return _.isArray(version) ? _.find(version, (v) => versionService.since(igniteVer, v.range)).version : version;
     }
 
-    pickDependency(acc, key, dfltVer, igniteVer, storedVer) {
+    pickDependency(acc, key, artifactGrp, dfltVer, igniteVer, storedVer) {
         const deps = POM_DEPENDENCIES[key];
 
         if (_.isNil(deps))
             return;
 
         _.forEach(_.castArray(deps), ({groupId, artifactId, version, jar, link}) => {
-            this.addDependency(acc, groupId || 'org.apache.ignite', artifactId, storedVer || this._extractVersion(igniteVer, version) || dfltVer, jar, link);
+            this.addDependency(acc, groupId || artifactGrp, artifactId, storedVer || this._extractVersion(igniteVer, version) || dfltVer, jar, link);
         });
     }
 
@@ -77,8 +77,8 @@ export default class IgniteMavenGenerator {
         sb.endBlock('</resource>');
     }
 
-    artifactSection(sb, cluster, targetVer) {
-        this.addProperty(sb, 'groupId', 'org.apache.ignite');
+    artifactSection(sb, artifactGrp, cluster, targetVer) {
+        this.addProperty(sb, 'groupId', artifactGrp);
         this.addProperty(sb, 'artifactId', this.escapeId(cluster.name) + '-project');
         this.addProperty(sb, 'version', targetVer.ignite);
     }
@@ -155,31 +155,32 @@ export default class IgniteMavenGenerator {
     /**
      * Add dependency for specified store factory if not exist.
      *
+     * @param artifactGrp Artifact group ID.
      * @param deps Already added dependencies.
      * @param storeFactory Store factory to add dependency.
      * @param igniteVer Ignite version.
      */
-    storeFactoryDependency(deps, storeFactory, igniteVer) {
+    storeFactoryDependency(artifactGrp, deps, storeFactory, igniteVer) {
         if (storeFactory.dialect && (!storeFactory.connectVia || storeFactory.connectVia === 'DataSource'))
-            this.pickDependency(deps, storeFactory.dialect, null, igniteVer, storeFactory.implementationVersion);
+            this.pickDependency(deps, storeFactory.dialect, artifactGrp, null, igniteVer, storeFactory.implementationVersion);
     }
 
-    collectDependencies(cluster, targetVer) {
+    collectDependencies(artifactGrp, cluster, targetVer) {
         const igniteVer = targetVer.ignite;
 
         const deps = [];
         const storeDeps = [];
 
-        this.addDependency(deps, 'org.apache.ignite', 'ignite-core', igniteVer);
+        this.addDependency(deps, artifactGrp, 'ignite-core', igniteVer);
 
-        this.addDependency(deps, 'org.apache.ignite', 'ignite-spring', igniteVer);
-        this.addDependency(deps, 'org.apache.ignite', 'ignite-indexing', igniteVer);
-        this.addDependency(deps, 'org.apache.ignite', 'ignite-rest-http', igniteVer);
+        this.addDependency(deps, artifactGrp, 'ignite-spring', igniteVer);
+        this.addDependency(deps, artifactGrp, 'ignite-indexing', igniteVer);
+        this.addDependency(deps, artifactGrp, 'ignite-rest-http', igniteVer);
 
         if (_.get(cluster, 'deploymentSpi.kind') === 'URI')
-            this.addDependency(deps, 'org.apache.ignite', 'ignite-urideploy', igniteVer);
+            this.addDependency(deps, artifactGrp, 'ignite-urideploy', igniteVer);
 
-        this.pickDependency(deps, cluster.discovery.kind, igniteVer);
+        this.pickDependency(deps, cluster.discovery.kind, artifactGrp, igniteVer);
 
         const caches = cluster.caches;
 
@@ -187,35 +188,35 @@ export default class IgniteMavenGenerator {
 
         _.forEach(caches, (cache) => {
             if (cache.cacheStoreFactory && cache.cacheStoreFactory.kind)
-                this.storeFactoryDependency(storeDeps, cache.cacheStoreFactory[cache.cacheStoreFactory.kind], igniteVer);
+                this.storeFactoryDependency(artifactGrp, storeDeps, cache.cacheStoreFactory[cache.cacheStoreFactory.kind], igniteVer);
 
             if (_.get(cache, 'nodeFilter.kind') === 'Exclude')
-                this.addDependency(deps, 'org.apache.ignite', 'ignite-extdata-p2p', igniteVer);
+                this.addDependency(deps, artifactGrp, 'ignite-extdata-p2p', igniteVer);
         });
 
         if (cluster.discovery.kind === 'Jdbc') {
             const store = cluster.discovery.Jdbc;
 
             if (store.dataSourceBean && store.dialect)
-                this.storeFactoryDependency(storeDeps, cluster.discovery.Jdbc, igniteVer);
+                this.storeFactoryDependency(artifactGrp, storeDeps, cluster.discovery.Jdbc, igniteVer);
         }
 
         _.forEach(cluster.checkpointSpi, (spi) => {
             if (spi.kind === 'S3')
-                this.pickDependency(deps, spi.kind, igniteVer);
+                this.pickDependency(deps, spi.kind, artifactGrp, igniteVer);
             else if (spi.kind === 'JDBC')
-                this.storeFactoryDependency(storeDeps, spi.JDBC, igniteVer);
+                this.storeFactoryDependency(artifactGrp, storeDeps, spi.JDBC, igniteVer);
         });
 
         if (_.get(cluster, 'hadoopConfiguration.mapReducePlanner.kind') === 'Weighted' ||
             _.find(cluster.igfss, (igfs) => igfs.secondaryFileSystemEnabled))
-            this.addDependency(deps, 'org.apache.ignite', 'ignite-hadoop', igniteVer);
+            this.addDependency(deps, artifactGrp, 'ignite-hadoop', igniteVer);
 
         if (_.find(caches, blobStoreFactory))
-            this.addDependency(deps, 'org.apache.ignite', 'ignite-hibernate', igniteVer);
+            this.addDependency(deps, artifactGrp, 'ignite-hibernate', igniteVer);
 
         if (cluster.logger && cluster.logger.kind)
-            this.pickDependency(deps, cluster.logger.kind, igniteVer);
+            this.pickDependency(deps, cluster.logger.kind, artifactGrp, igniteVer);
 
         return _.uniqWith(deps.concat(ArtifactVersionChecker.latestVersions(storeDeps)), _.isEqual);
     }
@@ -230,6 +231,10 @@ export default class IgniteMavenGenerator {
     generate(cluster, targetVer) {
         const sb = new StringBuilder();
 
+        const artifactGrp = versionService.since(targetVer.ignite, '8.7.3')
+            ? 'org.gridgain'
+            : 'org.apache.ignite';
+
         sb.append('<?xml version="1.0" encoding="UTF-8"?>');
 
         sb.emptyLine();
@@ -244,17 +249,17 @@ export default class IgniteMavenGenerator {
 
         sb.emptyLine();
 
-        this.artifactSection(sb, cluster, targetVer);
+        this.artifactSection(sb, artifactGrp, cluster, targetVer);
 
         sb.emptyLine();
 
-        const deps = this.collectDependencies(cluster, targetVer);
+        const deps = this.collectDependencies(artifactGrp, cluster, targetVer);
 
         this.dependenciesSection(sb, deps);
 
         sb.emptyLine();
 
-        this.buildSection(sb, ['org.apache.ignite']);
+        this.buildSection(sb, [artifactGrp]);
 
         sb.endBlock('</project>');