You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the WPILib Eclipse plugin creates robot projects, it sets up an Ant script that will build the JAR file for the robot and allow the developer to deploy the code to the robot.
We want to tie into this same build system so that building and deploying the project includes the strongback library, and enables running the tests. This may include defining a fragment to be inserted into the build.xml file and a few properties to be defined in the build.properties file. (For an example of what FRC Team 4931 did last year, see their build.xml and build.properties files.)
The strongback executable described in issue #6 may also be able to support automatically modifying a project, via:
@Zabot suggested also using an Eclipse "User Library" rather than a "Classpath Variable". Each user library can define multiple JARs with source code (so more powerful than classpath variables), but changing a project to use user libraries and classpath variables is very similar.
In fact, when the strongback add-project command is run, it can find the location of the Strongback distribution (worse comes to worse, we can look at the $PATH environment variable or if its not in the path look in the current directory). It can then automatically update the user's User Libraries, which is stored inside the .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs file (a properties file) in a property named org.eclipse.jdt.core.userLibrary.wpi. (We'd have to be sure to only add to the user libraries, not overwrite what they already have!) The value of the property contains a string representation of an XML document (with new line and tab characters), so the property in the org.eclipse.jdt.core.prefs file looks something like this:
Activity
rhauch commentedon Sep 14, 2015
@Zabot suggested also using an Eclipse "User Library" rather than a "Classpath Variable". Each user library can define multiple JARs with source code (so more powerful than classpath variables), but changing a project to use user libraries and classpath variables is very similar.
In fact, when the
strongback add-projectcommand is run, it can find the location of the Strongback distribution (worse comes to worse, we can look at the $PATH environment variable or if its not in the path look in the current directory). It can then automatically update the user's User Libraries, which is stored inside the.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefsfile (a properties file) in a property namedorg.eclipse.jdt.core.userLibrary.wpi. (We'd have to be sure to only add to the user libraries, not overwrite what they already have!) The value of the property contains a string representation of an XML document (with new line and tab characters), so the property in theorg.eclipse.jdt.core.prefsfile looks something like this:where the normal XML document would looks something like this:
The command would then modify the project's
.classpathfile to add thestrongbackandstrongback-testinguser libraries.Merge pull request strongback#10 from Team3132/colourwheelUnitTests