diff --git a/.gitignore b/.gitignore index e0d44a067c555cb29a4351320c4ff670d861807e..b66c620ce5a618bf4ff20e98d532804a3f3321ae 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .gradle build +/bin diff --git a/CMakeLists.txt b/CMakeLists.txt index 0538e08e2bb274c33f1bfb7b607e50f2958293cd..94bb98737baee788c9483c22e18a450cf33f10bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ project(rosjava_bootstrap) find_package(catkin REQUIRED rosjava_build_tools) -catkin_rosjava_setup(publishMavenJavaPublicationToMavenRepository) +catkin_rosjava_setup(publishMavenJavaPublicationToMavenRepository installApp) catkin_package() diff --git a/build.gradle b/build.gradle index a4d3ba13926351497bf695385dc7822175e7e7b1..4bf3d5a6500bab603995e3be248796a98ef90dbd 100644 --- a/build.gradle +++ b/build.gradle @@ -18,20 +18,12 @@ task wrapper(type: Wrapper) { gradleVersion = '1.11' } -project.ext { - /* the ros plugin defines this, but since we're building the plugin... */ - rosMavenDeploymentRepository = "$System.env.ROS_MAVEN_DEPLOYMENT_REPOSITORY" - rosMavenPath = "$System.env.ROS_MAVEN_PATH".split(':') - rosMavenRepository = "$System.env.ROS_MAVEN_REPOSITORY" -} - allprojects { - group='org.ros.rosjava_bootstrap' - version = '0.1.21' + group="org.ros.rosjava_bootstrap" + version = "0.2.0" } subprojects { - /* Have to manually do this below since our gradle plugin is our sub project */ apply plugin: 'java' apply plugin: 'maven' apply plugin: 'maven-publish' @@ -39,14 +31,21 @@ subprojects { sourceCompatibility = 1.6 targetCompatibility = 1.6 + // These external repositories are copied from bootstrap.gradle. repositories { - mavenLocal() + mavenCentral() maven { - url project.rosMavenRepository + url "http://repository.springsource.com/maven/bundles/release" + } + maven { + url "http://repository.springsource.com/maven/bundles/external" } - mavenCentral() } - if ( project.rosMavenDeploymentRepository != 'null' && project.rosMavenDeploymentRepository != '' ) { + + // Configuration of the deployment repository is copied from the RosPlugin. + String mavenDeploymentRepository = System.getenv("ROS_MAVEN_DEPLOYMENT_REPOSITORY") + if (mavenDeploymentRepository != null && + mavenDeploymentRepository != "") { publishing { publications { mavenJava(MavenPublication) { @@ -55,11 +54,13 @@ subprojects { } repositories { maven { - url 'file://' + project.rosMavenDeploymentRepository + url 'file://' + mavenDeploymentRepository } } } + } else { + logger.warn("ROS_MAVEN_DEPLOYMENT_REPOSITORY is not set. Have you sourced setup.bash?") } } -defaultTasks 'install' +defaultTasks 'publishMavenJavaPublicationToMavenRepository', 'installApp' diff --git a/buildscript.gradle b/buildscript.gradle new file mode 100644 index 0000000000000000000000000000000000000000..64c37f9a9f24ab195a84c24671de3816a1e4b148 --- /dev/null +++ b/buildscript.gradle @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2014 Google Inc. + * + * 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. + */ + +rootProject.buildscript { + String rosMavenPath = System.getenv("ROS_MAVEN_PATH") + String rosMavenRepository = System.getenv("ROS_MAVEN_REPOSITORY") + + repositories { + if (rosMavenPath != null) { + rosMavenPath.tokenize(":").each { path -> + maven { + // We can't use uri() here because we aren't running inside something + // that implements the Script interface. + url "file:${path}" + } + } + } + maven { + url "http://repository.springsource.com/maven/bundles/release" + } + maven { + url "http://repository.springsource.com/maven/bundles/external" + } + if (rosMavenRepository != null) { + maven { + url rosMavenRepository + } + } else { + maven { + url "https://github.com/rosjava/rosjava_mvn_repo/raw/master" + } + } + mavenCentral() + } + + dependencies { + classpath "org.ros.rosjava_bootstrap:gradle_plugins:[0.2,0.3)" + } +} \ No newline at end of file diff --git a/message_generation/build.gradle b/message_generation/build.gradle index e844fcd34224765c070ca18bbf6fee0cb9051d6c..1de91f4f26dcf945a83a1a386f036fbf312475bf 100644 --- a/message_generation/build.gradle +++ b/message_generation/build.gradle @@ -15,13 +15,13 @@ */ dependencies { - compile 'io.netty:netty:3.5.2.Final' - compile 'com.google.guava:guava:12.0' - compile 'org.apache.commons:com.springsource.org.apache.commons.codec:1.3.0' - compile 'org.apache.commons:com.springsource.org.apache.commons.io:1.4.0' - compile 'commons-pool:commons-pool:1.6' - compile 'org.apache.commons:com.springsource.org.apache.commons.lang:2.4.0' - compile project(':gradle_plugins') + compile "com.google.guava:guava:12.0" + compile "commons-pool:commons-pool:1.6" + compile "io.netty:netty:3.5.2.Final" + compile "org.apache.commons:com.springsource.org.apache.commons.codec:1.3.0" + compile "org.apache.commons:com.springsource.org.apache.commons.io:1.4.0" + compile "org.apache.commons:com.springsource.org.apache.commons.lang:2.4.0" + testCompile "junit:junit:4.8.2" } apply plugin: "application" diff --git a/package.xml b/package.xml index 93fa1082c05927dcfad2c63991f118b5d240f092..d1f2e805c244ff44b0b3345cb4d34e02321c9545 100644 --- a/package.xml +++ b/package.xml @@ -1,14 +1,14 @@ <?xml version="1.0"?> <package> <name>rosjava_bootstrap</name> - <version>0.1.21</version> + <version>0.2.0</version> <description> Bootstrap utilities for rosjava builds. </description> <url>http://ros.org/wiki/rosjava_bootstrap</url> <maintainer email="d.stonier@gmail.com">Daniel Stonier</maintainer> - <author email="d.stonier@gmail.com">Daniel Stonier</author> - <author email="damonkohler@google.com">Damon Kohler</author> + <author>Daniel Stonier</author> + <author>Damon Kohler</author> <license>Apache 2.0</license> <buildtool_depend>catkin</buildtool_depend> <build_depend>rosjava_build_tools</build_depend> diff --git a/settings.gradle b/settings.gradle index aabc522ae0c3733e0db1fcd2338aa148b46bdd0c..b85c37b8ba5d45b695d794928da123e370701475 100644 --- a/settings.gradle +++ b/settings.gradle @@ -14,7 +14,5 @@ * the License. */ -/* rootProject.name = 'catkin' */ - include 'gradle_plugins' include 'message_generation'