Log in

View Full Version : custom libraries


dbeckwith
04-01-2012, 15:43
I'm the lead programmer for my team and I found myself copying a lot of last year's code and having to copy code for multiple projects, and I thought, why not make a library? But in trying to make one I ran into several problems:
1. Why the heck does a java FRC project only download WPILibJ to the robot and not any standard Java packages?
2. Why does FRC code have to be in JDK 1.4, which doesn't have a lot of nice features?
3. Even if I dealt with these other downsides, how to I create a separate library in NetBeans that I can include in an FRC project and build and download to the cRIO?

We can live without creating a library, but it would make future coding and updating a heck of a lot easier, and copying code for each project is just bad programming practice. Even if there isn't a way that FRC intended for people to make libraries, is there a way to "hack" the cRIO and download compiled code via FTP, which would have all the libraries and everything.
Any help is appreciated.

davidthefat
04-01-2012, 16:58
1. I assume the standard Java libraries are already on the cRio with the Squawk VM.

2. Because Squawk VM is based on Java ME; Java ME is a restricted version of Java 1.3

3. Just like how you would do for any project. Just create a new package and write all your library code in there and import that package in a future project. The WPILibJ is essentially one of these.

dbeckwith
04-01-2012, 17:06
3. Just like how you would do for any project. Just create a new package and write all your library code in there and import that package in a future project. The WPILibJ is essentially one of these.

How do you import a package from another project and add it to an FRC project's build path? I tried the project settings but I didn't see anything.

davidthefat
04-01-2012, 17:13
Just right click it and copy paste it. That's what I do anyway. Probably it is proper to compile it as a jar and put in the necessary paths in the project settings, but that is too much hassle.

dbeckwith
04-01-2012, 17:53
Just right click it and copy paste it. That's what I do anyway. Probably it is proper to compile it as a jar and put in the necessary paths in the project settings, but that is too much hassle.

That was the whole point of this though: to eliminate the need to copy and paste. While it might be a hassle now, it would save a lot of time and effort down the road.

davidthefat
05-01-2012, 02:17
That was the whole point of this though: to eliminate the need to copy and paste. While it might be a hassle now, it would save a lot of time and effort down the road.

You are going to have to copy and paste the libraries to individual computers anyway. What I meant by copy and paste is not the individual snippets of code, but the whole folder.