You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sdap.apache.org by le...@apache.org on 2017/10/27 22:39:44 UTC
[07/51] [partial] incubator-sdap-nexus git commit: SDAP-1 Import all
code under the SDAP SGA
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/build/reports/project/dependencies/js/script.js
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/build/reports/project/dependencies/js/script.js b/nexus-ingest/nexus-messages/build/reports/project/dependencies/js/script.js
new file mode 100644
index 0000000..7f4d9a8
--- /dev/null
+++ b/nexus-ingest/nexus-messages/build/reports/project/dependencies/js/script.js
@@ -0,0 +1,202 @@
+/*
+ * Copyright 2013 the original author or authors.
+ *
+ * Licensed 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.
+ */
+
+function populateFooter(report) {
+ $("#gradleVersion").text(report.gradleVersion);
+ $("#generationDate").text(report.generationDate);
+}
+
+function initializeProjectPage(report) {
+ $(document).ready(function() {
+ // event handling to close the insight div
+ $('#insight').on('click', '#dismissInsight', function(event) {
+ $('#insight').fadeOut();
+ event.preventDefault();
+ });
+
+ // creates a node of a dependency tree
+ function createDependencyNode(dependency) {
+ var node = {
+ data : dependency.name,
+ state : "open",
+ attr : {'data-module' : dependency.module},
+ children : []
+ };
+ var classes = [];
+ if (dependency.alreadyRendered) {
+ classes.push('alreadyRendered');
+ }
+ if (dependency.hasConflict) {
+ classes.push('hasConflict');
+ }
+ if (!dependency.resolvable) {
+ classes.push('unresolvable');
+ }
+ if (classes.length > 0) {
+ node.attr['class'] = classes.join(' ');
+ }
+ $.each(dependency.children, function(index, dependency) {
+ var dependencyNode = createDependencyNode(dependency);
+ node.children.push(dependencyNode);
+ });
+ return node;
+ }
+
+ // finds the moduleInsight by module among the given moduleInsights and returns its insight
+ function findInsight(moduleInsights, module) {
+ for (var i = 0; i < moduleInsights.length; i++) {
+ if (moduleInsights[i].module == module) {
+ return moduleInsights[i].insight;
+ }
+ }
+ return null;
+ }
+
+ // creates a node of the insight tree
+ function createInsightNode(dependency) {
+ var node = {
+ data : dependency.name + (dependency.description ? ' (' + dependency.description + ')' : ''),
+ state : "open",
+ attr : {},
+ children : []
+ }
+ var classes = [];
+ if (dependency.alreadyRendered) {
+ classes.push('alreadyRendered');
+ }
+ if (!dependency.resolvable) {
+ classes.push('unresolvable');
+ }
+ if (dependency.hasConflict) {
+ classes.push('hasConflict');
+ }
+ if (dependency.isLeaf) {
+ classes.push('leaf');
+ }
+ if (classes.length > 0) {
+ node.attr['class'] = classes.join(' ');
+ }
+ $.each(dependency.children, function(index, dependency) {
+ var dependencyNode = createInsightNode(dependency);
+ node.children.push(dependencyNode);
+ });
+ return node;
+ }
+
+ // generates a tree for the given module by finding the insight among the given moduleInsights,
+ // and displays the insight div
+ function showModuleInsight(module, moduleInsights) {
+ var $insightDiv = $('#insight');
+ $insightDiv.html('');
+ $insightDiv.append($('<i> </i>').attr('id', 'dismissInsight').attr('title', 'Close'));
+ $insightDiv.append($('<h3>Insight for module </h3>').append(module));
+ var $tree = $('<div>').addClass('insightTree');
+ var insight = findInsight(moduleInsights, module);
+ var nodes = [];
+ $.each(insight, function(index, dependency) {
+ var dependencyNode = createInsightNode(dependency);
+ nodes.push(dependencyNode);
+ });
+ $tree.append($('<img>').attr('src', 'throbber.gif')).append('Loading...');
+ $tree.jstree({
+ json_data : {
+ data : nodes
+ },
+ themes : {
+ url : 'css/tree.css',
+ icons : false
+ },
+ plugins : ['json_data', 'themes']
+ }).bind("loaded.jstree", function (event, data) {
+ $('li.unresolvable a').attr('title', 'This dependency could not be resolved');
+ $('li.alreadyRendered a').attr('title', 'The children of this dependency are not displayed because they have already been displayed before');
+ });
+ $insightDiv.append($tree);
+ $tree.on('click', 'a', function(event) {
+ event.preventDefault();
+ });
+ $insightDiv.fadeIn();
+ }
+
+ // generates the configuration dependeny trees
+ var $dependencies = $('#dependencies');
+ var project = report.project;
+
+ $dependencies.append($('<h2/>').text('Project ' + project.name));
+ if (project.description) {
+ $dependencies.append($('<p>').addClass('projectDescription').text(project.name));
+ }
+
+ $.each(project.configurations, function(index, configuration) {
+ var $configurationDiv = $('<div/>').addClass('configuration');
+ var $configurationTitle = $('<h3/>').addClass('closed').append($('<ins/>')).append(configuration.name);
+ if (configuration.description) {
+ $configurationTitle.append(' - ').append($('<span/>').addClass('configurationDescription').text(configuration.description));
+ }
+ $configurationDiv.append($configurationTitle);
+
+ var $contentDiv = $('<div/>').addClass('configurationContent').hide();
+ var $tree = $('<div>').addClass('dependencyTree');
+ $contentDiv.append($tree);
+ if (configuration.dependencies && configuration.dependencies.length > 0) {
+ var nodes = [];
+ $.each(configuration.dependencies, function(index, dependency) {
+ var dependencyNode = createDependencyNode(dependency);
+ nodes.push(dependencyNode);
+ });
+ $tree.append($('<img>').attr('src', 'throbber.gif')).append('Loading...');
+ $tree.jstree({
+ json_data : {
+ data : nodes
+ },
+ themes : {
+ url : 'css/tree.css',
+ icons : false
+ },
+ plugins : ['json_data', 'themes']
+ }).bind("loaded.jstree", function (event, data) {
+ $('li.unresolvable a').attr('title', 'This dependency could not be resolved');
+ $('li.alreadyRendered a').attr('title', 'The children of this dependency are not displayed because they have already been displayed before');
+ });
+ }
+ else {
+ $tree.append($('<p/>').text("No dependency"));
+ }
+
+ $tree.on('click', 'a', function(event) {
+ event.preventDefault();
+ var module = $(this).closest('li').attr('data-module');
+ showModuleInsight(module, configuration.moduleInsights);
+ });
+
+ $configurationDiv.append($contentDiv);
+ $dependencies.append($configurationDiv);
+ });
+
+ // allows the titles of each dependency tree to toggle the visibility of their tree
+ $dependencies.on('click', 'h3', function(event) {
+ $('div.configurationContent', $(this).parent()).slideToggle();
+ $(this).toggleClass('closed');
+ });
+
+ $('#projectBreacrumb').text(project.name);
+ populateFooter(report);
+ });
+}
+
+if (window.projectDependencyReport) {
+ initializeProjectPage(window.projectDependencyReport);
+}
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/build/reports/project/dependencies/root.html
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/build/reports/project/dependencies/root.html b/nexus-ingest/nexus-messages/build/reports/project/dependencies/root.html
new file mode 100644
index 0000000..c6f8578
--- /dev/null
+++ b/nexus-ingest/nexus-messages/build/reports/project/dependencies/root.html
@@ -0,0 +1,40 @@
+
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta http-equiv="x-ua-compatible" content="IE=edge"/>
+ <link rel="stylesheet" type="text/css" href="css/base-style.css"/>
+ <link rel="stylesheet" type="text/css" href="css/style.css"/>
+ <script src="js/jquery.min-1.11.0.js" charset="utf-8">
+ </script>
+ <script src="js/jquery.jstree.js" charset="utf-8">
+ </script>
+ <script src="root.js" charset="utf-8">
+ </script>
+ <script src="js/script.js" charset="utf-8">
+ </script>
+ <title>Dependency reports
+ </title>
+ </head>
+ <body>
+ <div id="content">
+ <h1>Dependency Report
+ </h1>
+ <div class="breadcrumbs">
+ <a href="index.html">Projects
+ </a> >
+ <span id="projectBreacrumb"/>
+ </div>
+ <div id="insight">
+ </div>
+ <div id="dependencies">
+ </div>
+ <div id="footer">
+ <p>Generated by
+ <a href="http://www.gradle.org">Gradle 2.12
+ </a> at Sep 11, 2017 11:06:29 AM
+ </p>
+ </div>
+ </div>
+ </body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/build/reports/project/dependencies/root.js
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/build/reports/project/dependencies/root.js b/nexus-ingest/nexus-messages/build/reports/project/dependencies/root.js
new file mode 100644
index 0000000..db39485
--- /dev/null
+++ b/nexus-ingest/nexus-messages/build/reports/project/dependencies/root.js
@@ -0,0 +1 @@
+var projectDependencyReport = {"gradleVersion":"Gradle 2.12","generationDate":"Mon Sep 11 11:06:29 PDT 2017","project":{"name":"nexus-messages","description":null,"configurations":[{"name":"archives","description":"Configuration for archive artifacts.","dependencies":[],"moduleInsights":[]},{"name":"compile","description":"Dependencies for source set 'main'.","dependencies":[{"module":"com.google.protobuf:protobuf-java","name":"com.google.protobuf:protobuf-java:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-java","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"compile","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]},{"name":"compileClasspath","description":"Compile classpath for source set 'main'.","dependencies":[{"module":"com.google.protobuf:protob
uf-java","name":"com.google.protobuf:protobuf-java:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-java","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"compileClasspath","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]},{"name":"compileOnly","description":"Compile dependencies for source set 'main'.","dependencies":[{"module":"com.google.protobuf:protobuf-java","name":"com.google.protobuf:protobuf-java:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-java","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"compileOnly","resolvable":true,"hasConflict":false,"alreadyRendered":
false,"isLeaf":true,"children":[]}]}]}]},{"name":"default","description":"Configuration for default artifacts.","dependencies":[{"module":"com.google.protobuf:protobuf-java","name":"com.google.protobuf:protobuf-java:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-java","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"default","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]},{"name":"protobuf","description":null,"dependencies":[],"moduleInsights":[]},{"name":"protobufToolsLocator_protoc","description":null,"dependencies":[{"module":"com.google.protobuf:protoc","name":"com.google.protobuf:protoc:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protoc","insight":[{"name":"c
om.google.protobuf:protoc:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"protobufToolsLocator_protoc","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]},{"name":"runtime","description":"Runtime dependencies for source set 'main'.","dependencies":[{"module":"com.google.protobuf:protobuf-java","name":"com.google.protobuf:protobuf-java:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-java","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"runtime","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]},{"name":"testCompile","description":"Dependencies for source set 'test'.","dependencies":[{"module":"com.google.protobuf:protobuf-java","name":"com.google.protobuf:protobuf-java:2.6.1"
,"resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-java","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"testCompile","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]},{"name":"testCompileClasspath","description":"Compile classpath for source set 'test'.","dependencies":[{"module":"com.google.protobuf:protobuf-java","name":"com.google.protobuf:protobuf-java:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-java","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"testCompileClasspath","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]},{"name
":"testCompileOnly","description":"Compile dependencies for source set 'test'.","dependencies":[{"module":"com.google.protobuf:protobuf-java","name":"com.google.protobuf:protobuf-java:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-java","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"testCompileOnly","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]},{"name":"testProtobuf","description":null,"dependencies":[],"moduleInsights":[]},{"name":"testRuntime","description":"Runtime dependencies for source set 'test'.","dependencies":[{"module":"com.google.protobuf:protobuf-java","name":"com.google.protobuf:protobuf-java:2.6.1","resolvable":true,"hasConflict":false,"alreadyRendered":false,"children":[]}],"moduleInsights":[{"module":"com.google.protobuf:protobuf-j
ava","insight":[{"name":"com.google.protobuf:protobuf-java:2.6.1","description":null,"resolvable":true,"hasConflict":false,"children":[{"name":"testRuntime","resolvable":true,"hasConflict":false,"alreadyRendered":false,"isLeaf":true,"children":[]}]}]}]}]}};
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/build/reports/project/properties.txt
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/build/reports/project/properties.txt b/nexus-ingest/nexus-messages/build/reports/project/properties.txt
new file mode 100644
index 0000000..881ab7b
--- /dev/null
+++ b/nexus-ingest/nexus-messages/build/reports/project/properties.txt
@@ -0,0 +1,128 @@
+
+------------------------------------------------------------
+Root project
+------------------------------------------------------------
+
+allprojects: [root project 'nexus-messages']
+ant: org.gradle.api.internal.project.DefaultAntBuilder@3ad50290
+antBuilderFactory: org.gradle.api.internal.project.DefaultAntBuilderFactory@590029cc
+archivesBaseName: nexus-messages
+artifacts: org.gradle.api.internal.artifacts.dsl.DefaultArtifactHandler_Decorated@7b001246
+asDynamicObject: org.gradle.api.internal.ExtensibleDynamicObject@180d9997
+assemble: task ':assemble'
+baseClassLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@a5ed984
+buildDependents: task ':buildDependents'
+buildDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build
+buildFile: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build.gradle
+buildNeeded: task ':buildNeeded'
+buildScriptSource: org.gradle.groovy.scripts.UriScriptSource@52c8cf4a
+buildscript: org.gradle.api.internal.initialization.DefaultScriptHandler@29a17577
+check: task ':check'
+childProjects: {}
+class: class org.gradle.api.internal.project.DefaultProject_Decorated
+classLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@5d1480f5
+classes: task ':classes'
+clean: task ':clean'
+compileJava: task ':compileJava'
+compileTestJava: task ':compileTestJava'
+components: [org.gradle.api.internal.java.JavaLibrary@21faf02a]
+conf2ScopeMappings: org.gradle.api.publication.maven.internal.pom.DefaultConf2ScopeMappingContainer@8e909257
+configurationActions: org.gradle.configuration.project.DefaultProjectConfigurationActionContainer@355cc9c0
+configurations: [configuration ':archives', configuration ':compile', configuration ':compileClasspath', configuration ':compileOnly', configuration ':default', configuration ':protobuf', configuration ':protobufToolsLocator_protoc', configuration ':runtime', configuration ':testCompile', configuration ':testCompileClasspath', configuration ':testCompileOnly', configuration ':testProtobuf', configuration ':testRuntime']
+convention: org.gradle.api.internal.plugins.DefaultConvention@17f418d1
+defaultArtifacts: org.gradle.api.internal.plugins.DefaultArtifactPublicationSet_Decorated@6e9e21f2
+defaultTasks: []
+deferredProjectConfiguration: org.gradle.api.internal.project.DeferredProjectConfiguration@1893f7ab
+dependencies: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@4bd22fb0
+dependencyCacheDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/dependency-cache
+dependencyCacheDirName: dependency-cache
+dependencyReport: task ':dependencyReport'
+depth: 0
+description: null
+distDirectory: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/distrobution
+distsDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/distributions
+distsDirName: distributions
+docsDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/docs
+docsDirName: docs
+ext: org.gradle.api.internal.plugins.DefaultExtraPropertiesExtension@7c57848b
+extensions: org.gradle.api.internal.plugins.DefaultConvention@17f418d1
+extractIncludeProto: task ':extractIncludeProto'
+extractIncludeTestProto: task ':extractIncludeTestProto'
+extractProto: task ':extractProto'
+extractTestProto: task ':extractTestProto'
+fileOperations: org.gradle.api.internal.file.DefaultFileOperations@6359bb42
+fileResolver: org.gradle.api.internal.file.BaseDirFileResolver@64f0362d
+genDirectory: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/gen
+generatePomFileForMavenJavaPublication: task ':generatePomFileForMavenJavaPublication'
+generateProto: task ':generateProto'
+generateTestProto: task ':generateTestProto'
+gradle: build 'nexus-messages'
+group: org.nasa.jpl.nexus
+htmlDependencyReport: task ':htmlDependencyReport'
+inheritedScope: org.gradle.api.internal.ExtensibleDynamicObject$InheritedDynamicObject@3e852aac
+install: task ':install'
+jar: task ':jar'
+javadoc: task ':javadoc'
+libsDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/libs
+libsDirName: libs
+logger: org.gradle.logging.internal.slf4j.OutputEventListenerBackedLogger@34e667fd
+logging: org.gradle.logging.internal.DefaultLoggingManager@7eb6822b
+mavenPomDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/poms
+modelRegistry: org.gradle.model.internal.registry.DefaultModelRegistry@509ba514
+modelSchemaStore: org.gradle.model.internal.manage.schema.extract.DefaultModelSchemaStore@426bb8e6
+module: org.gradle.api.internal.artifacts.ProjectBackedModule@37a6f6a0
+name: nexus-messages
+osdetector: com.google.gradle.osdetector.OsDetectorExtension_Decorated@35bfa074
+parent: null
+parentIdentifier: null
+path: :
+pluginManager: org.gradle.api.internal.plugins.DefaultPluginManager_Decorated@22782c25
+plugins: [org.gradle.api.plugins.HelpTasksPlugin@34a3975e, org.gradle.language.base.plugins.LifecycleBasePlugin@5755195c, org.gradle.api.plugins.BasePlugin@51529a58, org.gradle.api.plugins.ReportingBasePlugin@22d2e496, org.gradle.platform.base.plugins.ComponentBasePlugin@5a34f2ae, org.gradle.language.base.plugins.LanguageBasePlugin@269151f1, org.gradle.platform.base.plugins.BinaryBasePlugin@245f195b, org.gradle.api.plugins.JavaBasePlugin@68468161, org.gradle.api.plugins.JavaPlugin@b82466a, com.google.gradle.osdetector.OsDetectorPlugin@21920c0a, com.google.protobuf.gradle.ProtobufPlugin@6208f25, org.gradle.api.plugins.MavenPlugin@22751cdc, org.gradle.api.publish.plugins.PublishingPlugin@12c940d0, org.gradle.api.publish.maven.plugins.MavenPublishPlugin@3cece406, org.gradle.api.plugins.ProjectReportsPlugin@5b3d0ef5]
+processOperations: org.gradle.api.internal.file.DefaultFileOperations@6359bb42
+processResources: task ':processResources'
+processTestResources: task ':processTestResources'
+project: root project 'nexus-messages'
+projectDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages
+projectEvaluationBroadcaster: ProjectEvaluationListener broadcast
+projectEvaluator: org.gradle.configuration.project.LifecycleProjectEvaluator@6815459b
+projectRegistry: org.gradle.api.internal.project.DefaultProjectRegistry@65abfe88
+projectReport: task ':projectReport'
+projectReportDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/reports/project
+projectReportDirName: project
+projects: [root project 'nexus-messages']
+properties: {...}
+propertyReport: task ':propertyReport'
+protobuf: com.google.protobuf.gradle.ProtobufConfigurator@2d5f4e49
+publish: task ':publish'
+publishToMavenLocal: task ':publishToMavenLocal'
+publishing: org.gradle.api.publish.internal.DefaultPublishingExtension_Decorated@2cc9955e
+pythonBuildDirPath: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/python/nexusproto
+reporting: org.gradle.api.reporting.ReportingExtension_Decorated@4e2556c3
+reportsDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/reports
+repositories: [org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository_Decorated@cdefb01]
+resources: org.gradle.api.internal.resources.DefaultResourceHandler@36bb0bac
+rootDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages
+rootProject: root project 'nexus-messages'
+scriptHandlerFactory: org.gradle.api.internal.initialization.DefaultScriptHandlerFactory@61413634
+scriptPluginFactory: org.gradle.configuration.DefaultScriptPluginFactory@5b6e791
+serviceRegistryFactory: org.gradle.internal.service.scopes.ProjectScopeServices$4@7ecb12d5
+services: ProjectScopeServices
+sourceCompatibility: 1.8
+sourceSets: [source set 'main', source set 'test']
+standardOutputCapture: org.gradle.logging.internal.DefaultLoggingManager@7eb6822b
+state: project state 'EXECUTED'
+status: integration
+subprojects: []
+tarPython: task ':tarPython'
+targetCompatibility: 1.8
+taskReport: task ':taskReport'
+tasks: [task ':assemble', task ':buildDependents', task ':buildNeeded', task ':check', task ':classes', task ':clean', task ':compileJava', task ':compileTestJava', task ':dependencyReport', task ':extractIncludeProto', task ':extractIncludeTestProto', task ':extractProto', task ':extractTestProto', task ':generatePomFileForMavenJavaPublication', task ':generateProto', task ':generateTestProto', task ':htmlDependencyReport', task ':install', task ':jar', task ':javadoc', task ':processResources', task ':processTestResources', task ':projectReport', task ':propertyReport', task ':publish', task ':publishToMavenLocal', task ':tarPython', task ':taskReport', task ':test', task ':testClasses', task ':wrapper', task ':writeNewPom']
+test: task ':test'
+testClasses: task ':testClasses'
+testReportDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/reports/tests
+testReportDirName: tests
+testResultsDir: /Users/greguska/githubprojects/nexus/nexus-ingest/nexus-messages/build/test-results
+testResultsDirName: test-results
+version: 1.0.0.RELEASE
+wrapper: task ':wrapper'
+writeNewPom: task ':writeNewPom'
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/build/reports/project/tasks.txt
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/build/reports/project/tasks.txt b/nexus-ingest/nexus-messages/build/reports/project/tasks.txt
new file mode 100644
index 0000000..2a2bcbe
--- /dev/null
+++ b/nexus-ingest/nexus-messages/build/reports/project/tasks.txt
@@ -0,0 +1,68 @@
+
+------------------------------------------------------------
+All tasks runnable from root project
+------------------------------------------------------------
+
+Build tasks
+-----------
+assemble - Assembles the outputs of this project.
+build - Assembles and tests this project.
+buildDependents - Assembles and tests this project and all projects that depend on it.
+buildNeeded - Assembles and tests this project and all projects it depends on.
+classes - Assembles main classes.
+clean - Deletes the build directory.
+jar - Assembles a jar archive containing the main classes.
+testClasses - Assembles test classes.
+
+Build Setup tasks
+-----------------
+init - Initializes a new Gradle build. [incubating]
+
+Documentation tasks
+-------------------
+javadoc - Generates Javadoc API documentation for the main source code.
+
+Help tasks
+----------
+buildEnvironment - Displays all buildscript dependencies declared in root project 'nexus-messages'.
+components - Displays the components produced by root project 'nexus-messages'. [incubating]
+dependencies - Displays all dependencies declared in root project 'nexus-messages'.
+dependencyInsight - Displays the insight into a specific dependency in root project 'nexus-messages'.
+help - Displays a help message.
+model - Displays the configuration model of root project 'nexus-messages'. [incubating]
+projects - Displays the sub-projects of root project 'nexus-messages'.
+properties - Displays the properties of root project 'nexus-messages'.
+tasks - Displays the tasks runnable from root project 'nexus-messages'.
+
+Publishing tasks
+----------------
+generatePomFileForMavenJavaPublication - Generates the Maven POM file for publication 'mavenJava'.
+publish - Publishes all publications produced by this project.
+publishMavenJavaPublicationToMavenLocal - Publishes Maven publication 'mavenJava' to the local Maven repository.
+publishToMavenLocal - Publishes all Maven publications produced by this project to the local Maven cache.
+
+Reporting tasks
+---------------
+projectReport - Generates a report about your project.
+
+Verification tasks
+------------------
+check - Runs all checks.
+test - Runs the unit tests.
+
+Other tasks
+-----------
+install - Installs the 'archives' artifacts into the local Maven repository.
+tarPython
+wrapper
+writeNewPom
+
+Rules
+-----
+Pattern: clean<TaskName>: Cleans the output files of a task.
+Pattern: build<ConfigurationName>: Assembles the artifacts of a configuration.
+Pattern: upload<ConfigurationName>: Assembles and uploads the artifacts belonging to a configuration.
+
+To see all tasks and more detail, run gradle tasks --all
+
+To see more detail about a task, run gradle help --task <task>
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/example.gradle.properties
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/example.gradle.properties b/nexus-ingest/nexus-messages/example.gradle.properties
new file mode 100644
index 0000000..356eee2
--- /dev/null
+++ b/nexus-ingest/nexus-messages/example.gradle.properties
@@ -0,0 +1,7 @@
+artifactory_contextUrl=https://artifactory.com/artifactory
+artifactory_user=ARTIFACTORY_USERNAME
+artifactory_password=ARTIFACTORY_PASSWORD
+publish_repoKey=private-maven-key
+resolve_repoKey=maven-central-key
+
+python_executable=/path/to/anaconda/bin/python
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/gradle/wrapper/gradle-wrapper.jar
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/gradle/wrapper/gradle-wrapper.jar b/nexus-ingest/nexus-messages/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..2c6137b
Binary files /dev/null and b/nexus-ingest/nexus-messages/gradle/wrapper/gradle-wrapper.jar differ
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/gradle/wrapper/gradle-wrapper.properties
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/gradle/wrapper/gradle-wrapper.properties b/nexus-ingest/nexus-messages/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..a7e6b9b
--- /dev/null
+++ b/nexus-ingest/nexus-messages/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Thu Apr 27 10:03:46 PDT 2017
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-bin.zip
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/gradlew
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/gradlew b/nexus-ingest/nexus-messages/gradlew
new file mode 100755
index 0000000..9d82f78
--- /dev/null
+++ b/nexus-ingest/nexus-messages/gradlew
@@ -0,0 +1,160 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/src/main/proto/NexusContent.proto
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/src/main/proto/NexusContent.proto b/nexus-ingest/nexus-messages/src/main/proto/NexusContent.proto
new file mode 100644
index 0000000..ea83c9f
--- /dev/null
+++ b/nexus-ingest/nexus-messages/src/main/proto/NexusContent.proto
@@ -0,0 +1,99 @@
+
+syntax = "proto2";
+
+package org.nasa.jpl.nexus.ingest.wiretypes;
+message GridTile{
+
+ optional ShapedArray latitude = 1;
+ optional ShapedArray longitude = 2;
+
+ optional int64 time = 3;
+
+ optional ShapedArray variable_data = 4;
+
+ repeated MetaData meta_data = 5;
+
+}
+
+message SwathTile{
+
+ optional ShapedArray latitude = 1;
+ optional ShapedArray longitude = 2;
+ optional ShapedArray time = 3;
+
+ optional ShapedArray variable_data = 4;
+
+ repeated MetaData meta_data = 5;
+
+}
+
+message MetaData{
+ required string name = 1;
+ required ShapedArray meta_data = 2;
+}
+
+message ShapedArray{
+ repeated int32 shape = 1 [packed=true];
+ required string dtype = 2;
+ required bytes array_data = 3;
+}
+
+message Attribute{
+ optional string name = 1;
+ repeated string values = 2;
+}
+
+message TileSummary{
+
+ optional string tile_id = 1;
+ optional string section_spec = 2;
+ optional string dataset_name = 3;
+ optional string granule = 4;
+ optional string dataset_uuid = 5;
+ optional string data_var_name = 6;
+ repeated Attribute global_attributes = 7;
+
+ message BBox{
+ optional float lat_min = 1;
+ optional float lat_max = 2;
+ optional float lon_min = 3;
+ optional float lon_max = 4;
+ }
+ optional BBox bbox = 8;
+
+ message DataStats{
+ optional float min = 1;
+ optional float max = 2;
+ optional float mean = 3;
+ optional int64 count = 4;
+
+ optional int64 min_time = 5;
+ optional int64 max_time = 6;
+ }
+ optional DataStats stats = 9;
+}
+
+message NexusTile{
+ optional TileSummary summary = 1;
+ optional TileData tile = 2;
+}
+
+message TileData{
+ optional string tile_id = 1;
+
+ oneof tile_type{
+ GridTile grid_tile = 2;
+ SwathTile swath_tile = 3;
+ }
+}
+
+message DimensionSlice{
+
+ oneof name_or_position{
+ string dimension_name = 1;
+ int32 dimension_position = 2;
+ }
+ required int64 start = 3;
+ required int64 stop = 4;
+ optional int64 step = 5;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/src/main/python/nexusproto/__init__.py
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/src/main/python/nexusproto/__init__.py b/nexus-ingest/nexus-messages/src/main/python/nexusproto/__init__.py
new file mode 100644
index 0000000..e69de29
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/src/main/python/nexusproto/serialization.py
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/src/main/python/nexusproto/serialization.py b/nexus-ingest/nexus-messages/src/main/python/nexusproto/serialization.py
new file mode 100644
index 0000000..64fe207
--- /dev/null
+++ b/nexus-ingest/nexus-messages/src/main/python/nexusproto/serialization.py
@@ -0,0 +1,40 @@
+"""
+Copyright (c) 2016 Jet Propulsion Laboratory,
+California Institute of Technology. All rights reserved
+"""
+import StringIO
+
+import numpy
+
+import nexusproto.NexusContent_pb2 as nexusproto
+
+
+def from_shaped_array(shaped_array):
+ memfile = StringIO.StringIO()
+ memfile.write(shaped_array.array_data)
+ memfile.seek(0)
+ data_array = numpy.load(memfile)
+ memfile.close()
+
+ return data_array
+
+
+def to_shaped_array(data_array):
+ shaped_array = nexusproto.ShapedArray()
+
+ shaped_array.shape.extend([dimension_size for dimension_size in data_array.shape])
+ shaped_array.dtype = str(data_array.dtype)
+
+ memfile = StringIO.StringIO()
+ numpy.save(memfile, data_array)
+ shaped_array.array_data = memfile.getvalue()
+ memfile.close()
+
+ return shaped_array
+
+def to_metadata(name, data_array):
+ metadata = nexusproto.MetaData()
+ metadata.name = name
+ metadata.meta_data.CopyFrom(to_shaped_array(data_array))
+
+ return metadata
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-messages/src/main/python/nexusproto/setup.py
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-messages/src/main/python/nexusproto/setup.py b/nexus-ingest/nexus-messages/src/main/python/nexusproto/setup.py
new file mode 100644
index 0000000..53ea282
--- /dev/null
+++ b/nexus-ingest/nexus-messages/src/main/python/nexusproto/setup.py
@@ -0,0 +1,31 @@
+"""
+Copyright (c) 2016 Jet Propulsion Laboratory,
+California Institute of Technology. All rights reserved
+"""
+from setuptools import setup
+
+__version__ = '0.3'
+
+setup(
+ name='nexusproto',
+ version=__version__,
+ url="https://github.jpl.nasa.gov/thuang/nexus",
+
+ author="Team Nexus",
+
+ description="Protobufs used when passing NEXUS messages across the wire.",
+
+ packages=['nexusproto'],
+ platforms='any',
+
+ install_requires=[
+ 'protobuf'
+ ],
+
+ classifiers=[
+ 'Development Status :: 1 - Pre-Alpha',
+ 'Intended Audience :: Developers',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python :: 2.7',
+ ]
+)
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-sink/.gitignore
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-sink/.gitignore b/nexus-ingest/nexus-sink/.gitignore
new file mode 100644
index 0000000..ef1dff6
--- /dev/null
+++ b/nexus-ingest/nexus-sink/.gitignore
@@ -0,0 +1,16 @@
+gradlew.bat
+
+.gradle/
+
+.idea/
+
+.DS_Store
+
+gradle.properties
+
+build/*
+!build/reports
+
+build/reports/*
+!build/reports/license
+!build/reports/project
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-sink/README.md
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-sink/README.md b/nexus-ingest/nexus-sink/README.md
new file mode 100644
index 0000000..868d879
--- /dev/null
+++ b/nexus-ingest/nexus-sink/README.md
@@ -0,0 +1,11 @@
+# nexus-sink
+
+[Spring-XD Module](http://docs.spring.io/spring-xd/docs/current/reference/html/#modules) that handles saving a NexusTile to both Solr and Cassandra.
+
+The project can be built by running
+
+`./gradlew clean build`
+
+The module can then be uploaded to Spring XD by running the following command in an XD Shell
+
+`module upload --type sink --name nexus --file nexus-sink/build/libs/nexus-sink-VERSION.jar`
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-nexus/blob/ff98fa34/nexus-ingest/nexus-sink/build.gradle
----------------------------------------------------------------------
diff --git a/nexus-ingest/nexus-sink/build.gradle b/nexus-ingest/nexus-sink/build.gradle
new file mode 100644
index 0000000..7807398
--- /dev/null
+++ b/nexus-ingest/nexus-sink/build.gradle
@@ -0,0 +1,176 @@
+buildscript {
+ repositories {
+ if( project.hasProperty('artifactory_contextUrl') ) {
+ maven {
+ url "${artifactory_contextUrl}"
+ credentials {
+ username = "${artifactory_user}"
+ password = "${artifactory_password}"
+ }
+ }
+ }
+ maven {
+ url "http://repo.spring.io/plugins-snapshot"
+ }
+ maven {
+ url 'http://repo.spring.io/plugins-release'
+ }
+ maven {
+ url "http://repo.spring.io/release"
+ }
+ maven {
+ url "http://repo.spring.io/milestone"
+ }
+ maven {
+ url "http://repo.spring.io/snapshot"
+ }
+ mavenCentral()
+ jcenter()
+ }
+ //noinspection GroovyAssignabilityCheck
+ dependencies {
+ classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4+"
+ classpath("org.springframework.xd:spring-xd-module-plugin:1.3.1.RELEASE")
+ }
+}
+
+if( project.hasProperty('artifactory_contextUrl') ) {
+ allprojects {
+ apply plugin: "com.jfrog.artifactory"
+ }
+
+ artifactory {
+ contextUrl = "${artifactory_contextUrl}"
+ publish {
+ repository {
+ repoKey = "${publish_repoKey}"
+ username = "${artifactory_user}"
+ password = "${artifactory_password}"
+ maven = true
+
+ }
+ defaults {
+ // Reference to Gradle publications defined in the build script.
+ // This is how we tell the Artifactory Plugin which artifacts should be
+ // published to Artifactory.
+ publications('mavenJava')
+ publishArtifacts = true
+ // Publish generated POM files to Artifactory (true by default)
+ publishPom = true
+ }
+ }
+ resolve {
+ repository {
+ repoKey = "${resolve_repoKey}"
+ username = "${artifactory_user}"
+ password = "${artifactory_password}"
+ maven = true
+
+ }
+ }
+ }
+
+ repositories {
+ maven {
+ url "$artifactory_contextUrl/$resolve_repoKey"
+ credentials {
+ username "${artifactory_user}"
+ password "${artifactory_password}"
+ }
+ }
+ }
+
+ artifactoryPublish.dependsOn bootRepackage
+
+}else {
+ repositories {
+ mavenCentral()
+ jcenter()
+ maven {
+ url "http://repo.spring.io/release"
+ }
+ mavenLocal()
+ }
+}
+
+ext {
+ springXdVersion = '1.3.1.RELEASE'
+ springIntegrationDslVersion = '1.1.2.RELEASE'
+ springDataCassandraVersion = '1.3.4.RELEASE'
+ springDataSolrVersion = '2.0.2.RELEASE'
+
+ nexusMessagesVersion = '1.0.0.RELEASE'
+
+ testversions = [
+ cassandraUnitVersion: '2.1.3.1',
+ solrCoreVersion: '5.3.1'
+ ]
+}
+
+
+
+apply plugin: 'java'
+apply plugin: 'groovy'
+apply plugin: 'idea'
+apply plugin: 'spring-xd-module'
+apply plugin: 'maven-publish'
+apply plugin: 'project-report'
+
+group = 'org.nasa.jpl.nexus.ingest'
+version = '1.4-SNAPSHOT'
+mainClassName = ''
+
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
+
+publishing {
+ publications {
+ mavenJava(MavenPublication) {
+ from components.java
+ }
+ }
+}
+
+//noinspection GroovyAssignabilityCheck
+sourceSets {
+ //noinspection GroovyAssignabilityCheck
+ main {
+ groovy {
+ // override the default locations, rather than adding additional ones
+ srcDirs = ['src/main/groovy', 'src/main/java']
+ }
+ java {
+ srcDirs = [] // don't compile Java code twice
+ }
+ }
+}
+
+//noinspection GroovyAssignabilityCheck
+dependencies {
+ compile("org.springframework.boot:spring-boot-starter-integration")
+ compile "org.springframework.integration:spring-integration-java-dsl:${springIntegrationDslVersion}"
+ compile "org.nasa.jpl.nexus:nexus-messages:${nexusMessagesVersion}"
+ compile "org.springframework.data:spring-data-cassandra:${springDataCassandraVersion}"
+ compile("org.springframework.data:spring-data-solr:${springDataSolrVersion}"){
+ exclude group: 'org.apache.solr', module: 'solr-solrj'
+ }
+ compile "org.apache.solr:solr-solrj:5.3.1"
+ compile 'org.codehaus.groovy:groovy'
+
+
+ testCompile group: 'io.findify', name: 's3mock_2.12', version: '0.2.3'
+ testCompile('org.springframework.boot:spring-boot-starter-test')
+ testCompile("org.apache.cassandra:cassandra-all")
+ testCompile("org.apache.solr:solr-core:${testversions.solrCoreVersion}"){
+ exclude group: 'org.eclipse.jetty'
+ }
+ testCompile("com.vividsolutions:jts:1.13")
+ testCompile("org.cassandraunit:cassandra-unit-spring:${testversions.cassandraUnitVersion}") {
+ exclude group: 'org.slf4j', module: 'slf4j-log4j12'
+ }
+ testCompile group: 'junit', name: 'junit', version: '4.11'
+}
+
+task wrapper(type: Wrapper) {
+ gradleVersion = '2.12'
+}