Skip to content

Better support for version control #1268

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

Closed
jantje opened this issue Nov 26, 2020 · 6 comments
Closed

Better support for version control #1268

jantje opened this issue Nov 26, 2020 · 6 comments

Comments

@jantje
Copy link
Member

jantje commented Nov 26, 2020

currently the Sloeber configuration data is stored in eclipse environment variables. This proposal is to use Sloeber dedicated files and a build environment variable provider instead.

The current solution forces the A. notation on Sloeber and makes checking in eclipse configuration files necessary.

This issue is to switch to using build environment variable provider and Sloeber configuration files
There would be one config file for each configuration so you do not need to share all your configs with other team members
The config file would contain json url, platform name, platform version,board id, board options, and other user settings
This allows to "download and install" the platform after install (future plans ;-) )
Plan is to avoid any platform dependent info (like path names) to ease checking in/out.

I'm not sure yet about where to set the upload port as this is system specific

jantje pushed a commit that referenced this issue Dec 1, 2020
As I'm no longer using cdt storage I need to add my own storage.
jantje pushed a commit that referenced this issue Dec 1, 2020
build ino on all boards failed 44 out of 1066
After this fix it should be more
jantje pushed a commit that referenced this issue Dec 1, 2020
This way a open and close takes case rereading the data from disk.
Which is convenient for testing and users
This should also handle project renames
but not configuration renames
jantje pushed a commit that referenced this issue Dec 1, 2020
As there is no longer a need to find out wether the enviironment
variables ned to be updated this info is no longer used
jantje pushed a commit that referenced this issue Dec 1, 2020
And for modifying the configuration files while the project is closed
Not yet all data is stored in the file so some will still be in the
environment vars stored by CDT but and these are currently unhandles
making the cross close persistency test fail
jantje pushed a commit that referenced this issue Dec 1, 2020
Regression test are now successfull
@jantje
Copy link
Member Author

jantje commented Dec 1, 2020

I turned off my build engine so this change will not affect the nightly untill I'm fully happy.
The main reason for this is that old projects will stop working with this change

jantje pushed a commit that referenced this issue Dec 12, 2020
Also needs next checkin as there hes been some refactoring
jantje pushed a commit that referenced this issue Dec 12, 2020
jantje pushed a commit that referenced this issue Dec 12, 2020
jantje pushed a commit that referenced this issue Dec 22, 2020
off course the test fails
now I need to get the test to be successfull
I also remloved some exception handling from a shared method which makes
there are 2 more tests added to this commit
@jantje
Copy link
Member Author

jantje commented Dec 22, 2020

I'm making serious progress but there is still lots of work.

jantje pushed a commit that referenced this issue Dec 28, 2020
Single config is a project wit 1 single config using extra compile
paratmeter's a	nd no libraries
jantje pushed a commit that referenced this issue Dec 29, 2020
This way project using boards installed by the boards manager can be in
different locations on different machines
jantje pushed a commit that referenced this issue Dec 30, 2020
Basically the settings were saved twice, once in the sloeber project
file sproject and in the environment variables
jantje pushed a commit that referenced this issue Jan 5, 2021
jantje pushed a commit that referenced this issue Jan 8, 2021
jantje pushed a commit that referenced this issue Jan 8, 2021
This reduces the number of calls on SloeberProject
It also forces the environment variable provider to get the envars if
not yet available
Something which I think is good
@uzi18
Copy link
Contributor

uzi18 commented Jan 9, 2021

@jantje maybe just store port per platform, it is hard to get same port number on different windows machines, so almost always you need to change it

@jantje
Copy link
Member Author

jantje commented Jan 9, 2021

The sloeber.cfg will not contain the port and upload protocol

@uzi18
Copy link
Contributor

uzi18 commented Jan 9, 2021

Will try to investigate your changes but java is not my fluent language, in fact it is something new so maybe will learn something ;)

@jantje
Copy link
Member Author

jantje commented Jan 9, 2021

Here is the boarddescription environment variable deliverer for version control

public Map<String, String> getEnvVarsVersion(String prefix) {

jantje pushed a commit that referenced this issue Jan 10, 2021
So I expect bugs but I can't find failing cases right now
jantje pushed a commit that referenced this issue Jan 12, 2021
This seems to work all right, cant believe it.
I added a configuration
I changed a configuration
They were picked up fine
I always delete the active config build folder as it is likely no longer
valid.
jantje pushed a commit that referenced this issue Jan 30, 2021
This is only needed for data migration.
I only check on the existance of the boards.txt file
@jantje jantje closed this as completed Jun 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants