-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define CopperLib scope #200
Comments
@jkleiber we can begin adding everything we want to put in the library here, or we can just go ahead and create a GitHub repository for it first. I don't have any experience making Java libraries so it'll be a learning experience. We may also want to split the core library and the interface layer into separate repositories, but I'm not sure how it'll pan out quite yet. |
@aidnem we can build off of this: https://github.com/team401/coppercore Once we have the scope defined, I think we have a couple parallel tracks:
|
@aidnem @linglejack06 coppercore is currently set up to be a vendordep rather than a submodule - does that still make sense? I feel like learning how submodules work is more valuable than vendordeps, and they are much more flexible. Thoughts? |
@jkleiber @linglejack06 In my opinion it would be much simpler to just use a submodule than to deal with a vendor dep but that's just my initial impression. The only thing would be version checking (make sure we have the correct version cloned) but I'm sure that wouldn't be too difficult to handle. |
@jkleiber @linglejack06 Do you have any input on whether we should separate core layer from the interface layer within the coppercore repository or in 2 separate ones? It might be better to separate them into 2 different repositories so that we can update versions independently of each other. On the other hand, it would be simpler to have 1 repository over 2. |
@aidnem I think it would make sense for the core library to define its interface so the dependency management doesn't get too complicated |
@jkleiber to clarify I meant the interface layer that handles communication with WPILib (so that we don't have to update core library when WPILib updates). We can still put that in the coppercore repository though. |
@aidnem yeah I understood that - I think it makes the most sense to actively maintain the WPILib interface layer in lockstep with coppercore rather than having it on the robot project each year. If wpilib changes, then coppercore just updates to handle it. Thinking a few years into the future, all robots that use coppercore will be locked to a specific coppercore version. Since robots don't typically go under active development after the next competition year, any additional features to coppercore don't need to be backwards compatible imo. |
Purpose
To extract as much reusable code as possible into a core library to minimize the amount of boilerplate and reused code.
This issue exists primarily as a discussion-place before we create the CopperLib repository. Once it's created, issues for features should be created there.
Note: the name CopperLib was the first idea that came to mind, we can use another name later
Project Scope
Library Scope
The text was updated successfully, but these errors were encountered: