No description, website, or topics provided.
Java C++ XSLT HTML Shell CSS Other
Latest commit 88cb9da Jan 20, 2017 @PeterJohnson PeterJohnson committed on GitHub C++: Copy native libs during debug-prepare. (#98)
Permalink
Failed to load latest commit information.
edu.wpi.first.wpilib.plugins.core.feature Update license year to 2017 (#76) Dec 30, 2016
edu.wpi.first.wpilib.plugins.core Add disable library management (#97) Jan 20, 2017
edu.wpi.first.wpilib.plugins.cpp.feature Update license year to 2017 (#76) Dec 30, 2016
edu.wpi.first.wpilib.plugins.cpp C++: Copy native libs during debug-prepare. (#98) Jan 21, 2017
edu.wpi.first.wpilib.plugins.java.feature Update license year to 2017 (#76) Dec 30, 2016
edu.wpi.first.wpilib.plugins.java Add disable library management (#97) Jan 20, 2017
edu.wpi.first.wpilib.plugins.riolog Gradle Build May 20, 2015
edu.wpi.first.wpilib.plugins.updatesite Removed simluation eclipse plugin Oct 3, 2015
gradle/wrapper NI Property Generation (#12) Sep 27, 2016
.gitattributes Changed .gitattributes to keep Unix line endings in the robot scripts Jun 30, 2014
.gitignore Ignores .VsCode settings (#50) Oct 30, 2016
.gitreview Added gitreview file Nov 25, 2015
.travis.yml Gradle build generation (#13) Sep 27, 2016
CONTRIBUTING.md Create CONTRIBUTING.md May 23, 2016
README.md Add build location and refernce to ignore scripts (#83) Jan 1, 2017
build.gradle Updates the wpilib version plugin (#69) Dec 26, 2016
gradlew Moved to gradle as the executor of the build. This is still calling M… Sep 7, 2016
gradlew.bat Moved to gradle as the executor of the build. This is still calling M… Sep 7, 2016
ignore.bat Added ignore scripts to quickly ignore all files that are updated by … Dec 27, 2016
ignore.sh Added ignore scripts to quickly ignore all files that are updated by … Dec 27, 2016
license.txt Add license from allwpilib and fix link to it in the README (#1) May 25, 2016
maven_commands.gradle Fixed the maven commands to correctly require updates to dependencies… Dec 27, 2016
ni_image.properties Moved LD_LIBRARY_PATH to java.library.path to address part of wpilibs… ( Dec 14, 2016
pom.xml Fixes debugging for C++ in Neon (#57) Nov 21, 2016

README.md

Eclipse Plugins

Build Status

Welcome to the WPILib project. This repository contains the Eclipse Plugins project.

WPILib Mission

The WPILib Mission is to enable FIRST teams to focus on writing game-specific software rather than on hardware details - "raise the floor, don't lower the ceiling". We try to enable teams with limited programming knowledge and/or mentor experience to do as much as possible, while not hampering the abilities of teams with more advanced programming capabilities. We support Kit of Parts control system components directly in the library. We also strive to keep parity between major features of each language (Java, C++, and NI's LabVIEW), so that teams aren't at a disadvantage for choosing a specific programming language. WPILib is an open-source project, licensed under the BSD 3-clause license. You can find a copy of the license here.

Building Eclipse Plugins

Building the Eclipse Plugins is very straightforward. The plugins use Gradle to compile, which calls into Maven under the hood.

Requirements

Building

To actually build the plugins, simply call:

./gradlew build

To clean, call:

./gradlew clean

Note that there will be a lot of output. This is because Gradle is actually calling into Maven under the hood.

After building, the plugins are located in edu.wpi.first.wpilib.plugins.updatesite/target/site/

Modifying the NI Image Version

The Gradle harness takes care of deduplicating the NI allowable image versions by copying ni_image.properties to edu.wpi.first.wpilib.plugins.java/src/main/resources/java-zip/ant/ and to edu.wpi.first.wpilib.plugins.cpp/src/main/resources/cpp-zip/ant/. To update the version, simply change the ni_image.properties in the repository root and the changes will be copied during the next build.

Dependencies from other Parts of WPILib

The build pulls in a specific set of dependencies, which can be updated at any time by running the updateDependencies task. This task will also be run during official builds, or when this is the first build (ie, the repo has just been cloned). When developing on other parts of WPILib and building the plugins to test, make sure to run the updateDependencies task, or it will not pull in the new version that you will have published to ~/releases/development. Do not submit the changed pom.xml files in a pull request: this can mess with the build system and cause PR test failures as well as official build failures. These can be ignored by running ignore.bat/sh. The only time the updated pom should be checked in is when incrementing the version number of either the plugins itself, or a released dependency is being updated (in which case, the version number also likely should be updated).

The dependency update plugin has a quiet period for checking each repo for updates. This means that it won't necessarily see an update to the global FRC repo, even if a version is published there that is newer than the version in the ~/.m2 cache. This update period has been disabled for the local FRC repository, ~/releases/, in the main pom.xml. If you're attempting to get a version of a dependency that was published to http://first.wpi.edu/FRC/roborio/maven/ and it's not showing up, this is likely the reason. There are a couple of solutions: delete the artifact you need to update from the ~/.m2 cache, or change the update policy for the FRC Binaries repository in the main pom.xml to match the Local Repo.

Since having to specify updateDependencies at every build will get tedious if constantly rebuilding the plugins, you can put the words always generate in the generated_version file that the build generates in the root of the repository. When that text is in the file, the version will always be updated on every build.

Contributing to WPILib

See CONTRIBUTING.md.