Permalink
Browse files

Merge pull request #88 from rhauch/2017-beta

Added support for 2017 WPILib for Java
  • Loading branch information...
rhauch committed Jan 7, 2017
2 parents c5d17f6 + 67e49a4 commit 024afee63c5cdb7cb879e18f0624e0a0c0b8e838
View
@@ -12,8 +12,10 @@ deploy/
target/
*.class
# The wpilib directory should never be committed
# The 3rd party dependencies should never be committed
libs/wpilib
libs/ctre
libs/navx-mxp
downloads/
.DS_Store/
View
@@ -1,5 +1,13 @@
sudo: false
language: java
before_install:
- ant -version
- wget http://apache.mirrors.pair.com//ant/binaries/apache-ant-1.10.0-bin.tar.gz
- tar -xf apache-ant-1.10.0-bin.tar.gz
- export ANT_HOME=$PWD/apache-ant-1.10.0
- export PATH=$ANT_HOME/bin:$PATH
- ant -version
install: ant deps
script: ant test
jdk:
View
@@ -1,7 +1,9 @@
Braden Steffaniak
Matthew Alonso
Zach Anderson
Nathan Brown
Adam Gausmann
Colin Hauch
Randall Hauch
Zach Anderson
Filip Kernan
Rothanak So
Filip Kernan
Braden Steffaniak
View
@@ -1,9 +1 @@
Copyright 2015, Strongback and individual contributors by the @authors tag.
The following have contributed to the Strongback Java codebase.
Randall Hauch <rhauch@gmail.com>
Zach Anderson <zach@speakinwebs.com>
Nathan Brown <nathanbrown735@gmail.com>
Adam Gausmann <adam.gausmann@gmail.com>
Colin Hauch <colin.hauch@gmail.com>
Copyright 2015-2017, Strongback and individual contributors identified by the @authors tags and in the CONTRIBUTORS file.
View
@@ -28,7 +28,7 @@ Strongback is a new open source software library that makes your robot code ligh
# Building locally
If you want to build Strongback locally, you will need to have installed JDK 1.8, Eclipse Mars (version 4.5.0 or later), Ant 1.9.2 or later, and Git 2.2.1 or later. Then, use Git to clone this repository (or your GitHub fork). Before importing into Eclipse, build the code and run the unit tests using Ant:
If you want to build Strongback locally, you will need to have installed JDK 1.8, Eclipse Mars (version 4.5.0 or later), Ant 1.10.0 or later, and Git 2.2.1 or later. Then, use Git to clone this repository (or your GitHub fork). Before importing into Eclipse, build the code and run the unit tests using Ant:
$ ant test
@@ -41,8 +41,8 @@ If you have any problems getting this far, please check our [developers discussi
To release a new version of Strongback:
1. Change the `strongback.properties` file to reference the correct version number, and commit that to the repository.
1. Build the distribution by running `ant clean dist` and verifying it completed correctly.
1. Go to the [Strongback releases page](https://github.com/strongback/strongback-java/releases) and draft a new release, filling in the correct release candidate version number as the tag (e.g., `v1.0.0.RC1` for "release candidate 1") and giving an appropriate release title (e.g., `1.0.0 Release Candidate 1`) and description, and uploading the ZIP and compressed TAR file in the `build` directory. Then check "This is a pre-release" and press "Publish Release".
1. Build the distribution by running `ant release` and verifying it completed correctly.
1. Go to the [Strongback releases page](https://github.com/strongback/strongback-java/releases) and draft a new release, filling in the correct release candidate version number as the tag (e.g., `v2017.1.0.RC1` for "release candidate 1") and giving an appropriate release title (e.g., `2017.1.0.RC1`) and description, and uploading the ZIP and compressed TAR file in the `build` directory. Then check "This is a pre-release" and press "Publish Release".
1. Notify the developer forum so that other community members can test the release candidate by downloading and unpacking the pre-release distribution into their local home directory, using it in one or more robot codebases, and verifying the robots behave as expected. Each community member that tests it locally should respond to your forum post with their results.
1. If the pre-release distribution has problems that need to be fixed, they should be reported, fixed, and merged into the correct branch, and then go to Step 3 using a new pre-release tag (e.g., `v1.0.0.RC2`) and title (e.g., `1.0.0 Release Candidate 1`).
1. When enough community members have verified the pre-release distribution is acceptable, go to the [Strongback releases page](https://github.com/strongback/strongback-java/releases) and create a new release with the same tag as the pre-release, but with the appropriate release title (e.g., `1.0.0`) and description. Do not check "This is a pre-release" and press "Publish Release".
1. If the pre-release distribution has problems that need to be fixed, they should be reported, fixed, and merged into the correct branch, and then go to Step 3 using a new pre-release tag (e.g., `v2017.1.0.RC2`) and title (e.g., `2017.1.0.RC2`).
1. When enough community members have verified the pre-release distribution is acceptable, go to the [Strongback releases page](https://github.com/strongback/strongback-java/releases) and create a new release with the same tag as the pre-release, but with the appropriate release tag (e.g., `v2017.1.0`), title (e.g., `2017.1.0`) and description. Do not check "This is a pre-release" and press "Publish Release".
View
@@ -11,17 +11,19 @@
<property file="${user.home}/strongback/java/ant/build.properties" />
<import file="${wpilib.ant.dir}/build.xml" />
<!-- Define the classpaths -->
<path id="compile.classpath">
<fileset dir="${strongback.home}/java/lib" includes="**/*.jar" excludes="**/*-sources.jar" />
<fileset dir="${user.home}/wpilib/java/${version}/lib" includes="**/*.jar" excludes="**/*-sources.jar" />
<pathelement path="${classpath}" />
</path>
<!--
The Strongback and 3rd party libraries are installed (via the Strongback CLI) into the
WPILib's `user/java/lib` directory and therefore are found, used, and deployed during the
WPILib's standard Ant build process.
However, WPILib's build does not support unit tests, so this file defines Ant targets
related only for unit testing. Thus, a robot project that uses Strongback at runtime
and has no tests need not use this Ant file.
-->
<!-- Define a classpath for unit testing -->
<path id="junit.classpath">
<fileset dir="${strongback.home}/java/lib" includes="**/*.jar" excludes="**/*-sources.jar" />
<fileset dir="${strongback.home}/java/lib-tests" includes="**/*.jar" excludes="**/*-sources.jar" />
<pathelement location="${build.dir}" />
<pathelement path="${classpath}" />
@@ -37,46 +39,6 @@
<ant antfile="${wpilib.ant.dir}/build.xml" target="clean" />
</target>
<target name="compile" description="Compile the source code.">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" includeantruntime="false">
<classpath refid="compile.classpath" />
</javac>
<copy todir="${build.dir}">
<fileset dir="${src.dir}" includes="**/*.xml,**/*.properties,**/*.txt,**/*.ico" />
</copy>
<copy todir="${build.dir}" failonerror="false" quiet="true">
<fileset dir="${resources.dir}" />
</copy>
</target>
<target name="jar" depends="compile">
<echo>Making jar ${dist.jar}.</echo>
<mkdir dir="${dist.dir}" />
<mkdir dir="${build.jars}" />
<echo>Copying jars from ${strongback.classpath} to ${build.jars}.</echo>
<copy todir="${build.jars}" flatten="true">
<path>
<pathelement path="${strongback.classpath}" />
</path>
</copy>
<jar destfile="${dist.jar}" update="false">
<manifest>
<attribute name="Main-Class" value="edu.wpi.first.wpilibj.RobotBase" />
<attribute name="Robot-Class" value="${robot.class}" />
<attribute name="Class-Path" value="." />
</manifest>
<fileset dir="${build.dir}" includes="**/*.class" />
<zipgroupfileset dir="${build.jars}">
<include name="**/*.jar" />
</zipgroupfileset>
</jar>
</target>
<!-- Check if there are any JUnit Tests -->
<target name="if-tests">
<condition property="tests-exists">
View
@@ -4,6 +4,8 @@
<property name="strongback.dir" location=".."/>
<property file="${strongback.dir}/build.properties"/>
<property name="wpilib.dir" value="${strongback.dir}/libs/wpilib"/>
<property name="ctre.dir" value="${strongback.dir}/libs/ctre"/>
<property name="navx.dir" value="${strongback.dir}/libs/navx-mxp"/>
<property name="java.compile.arg" value=""/>
<property name="java.source.version" value="1.8"/>
@@ -17,6 +19,8 @@
<property name="project.test.output.dir" value="${project.build.dir}/test-classes"/>
<property name="project.test.report.dir" value="${project.build.dir}/test-reports"/>
<property name="wpi.libs.dir" value="${wpilib.dir}/java/current/lib"/>
<property name="ctre.libs.dir" value="${ctre.dir}/java/lib"/>
<property name="navx.libs.dir" value="${navx.dir}/roborio/java/lib"/>
<property name="test.libs.dir" value="${strongback.dir}/libs/test"/>
<property name="compile.libs.dir" value="${strongback.dir}/libs"/>
<property name="project.jar.name" value="${ant.project.name}.jar"/>
@@ -35,6 +39,8 @@
<pathelement location="${project.output.dir}" />
<fileset dir="${compile.libs.dir}" includes="**/*.jar" excludes="**/*-sources.jar"/>
<fileset dir="${wpi.libs.dir}" includes="**/*.jar" excludes="**/*-sources.jar"/>
<fileset dir="${ctre.libs.dir}" includes="**/*.jar" excludes="**/*-sources.jar"/>
<fileset dir="${navx.libs.dir}" includes="**/*.jar" excludes="**/*-sources.jar"/>
</path>
<path id="test.class.path">
View
@@ -1,8 +1,19 @@
strongback.version=1.2.1
strongback.version=2017.1.0.RC1
#
# The build will download a specific version of the WPILib given by the following URL
# and install it into the 'libs/wpilib' folder. To use a different version of WPILib,
# replace the value with the URL of the WPILib Eclipse Update Site
#
wpilib.updatesite.url=http://first.wpi.edu/FRC/roborio/release/eclipse
wpilib.updatesite.url=http://first.wpi.edu/FRC/roborio/beta/eclipse/
#
# Starting in 2017, WPILib will no longer have built-in support for the TalonSRX
# from Cross the Road Electronics (CTRE). Instead, the `CANTalon` class and associated
# functionality is available directly from CTRE as a separate JAR.
#
ctre.download.url=http://www.ctr-electronics.com/downloads/lib/CTRE_FRCLibs_NON-WINDOWS.zip
#
# The navX-MXP library is available in a ZIP file that has only the Java and C++ libraries.
#
navx.download.url=http://www.kauailabs.com/public_files/navx-mxp/navx-mxp-libs.zip
Oops, something went wrong.

0 comments on commit 024afee

Please sign in to comment.