Skip to content

#1126 support for creating library archives #1647

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

Merged
merged 499 commits into from
Aug 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
499 commits
Select commit Hold shift + click to select a range
6b218de
Builders are sperate plugin.xml entities
Jan 10, 2024
de2b3ee
Add libraries option group option
Jan 11, 2024
ccef03b
Add missing assembler name
Jan 11, 2024
f4f0158
remove no longer used fields from plugin.xml
Jan 12, 2024
8589453
Wrong class for targetTool
Jan 12, 2024
d655b15
Allow the BuildTools to be changed
Jan 15, 2024
cfd6d23
Added source code root folder
Jan 15, 2024
b6ce5b5
BuildTools was not updated when selecting from buildTools list
Jan 15, 2024
8dfdbf7
add BuildTool provider based on org.eclipse.cdt.core.build.IToolChain
Jan 20, 2024
bccebda
internal builder used wrong errorparsers
Jan 21, 2024
809eb15
Show in project name whether it is a C or CPP project
Jan 21, 2024
2744a10
remove BuildException class
Jan 21, 2024
8c45e4d
fix warnings
Jan 22, 2024
6cc7cd9
Refresh project before build so the timestamps are updated
Jan 22, 2024
160aef7
Add enablement based on tool flavour
Jan 23, 2024
8fa7cae
handle null BuildTools better
Jan 24, 2024
65fa312
Merge branch '#1126_support_for_creating_library_archives' into suppo…
jantje Jan 26, 2024
0ecd0c3
Merge pull request #1617 from Sloeber/support_for_tar_zst_#1611
jantje Jan 26, 2024
cfbd318
fix remaining issues in merge
Jan 26, 2024
02dd85b
Merge branch '#1126_support_for_creating_library_archives' into make_…
jantje Feb 7, 2024
103867a
Merge pull request #1623 from Sloeber/make_release_4_4_3
jantje Feb 7, 2024
cba8fb2
Make the update site work for V4.4.3
Feb 8, 2024
e5f8963
Upgrade version number of autobuild plugin's
Feb 9, 2024
b48e393
remove maven builders/natures
Feb 9, 2024
4e36dcd
refactor rename NewAutoBuildProjectWizard to NewProjectWizard
Feb 9, 2024
ffe94c7
run the organizing manifest tool
Feb 9, 2024
ce7f2c2
delete cdt wizard stuff I think I do not need
Feb 9, 2024
9290bcc
remove source plugins and add lots of cdt stuff
Feb 9, 2024
5771aa0
Add the project nature selection page to the new project wizard
Feb 9, 2024
640b5c1
added project type selection and build tool selection
Feb 10, 2024
5bb4360
Refactor create project to use projectType
Feb 10, 2024
1498a21
Add source folder selection tab and fix issue/improve new project wizard
Feb 11, 2024
cdc62d4
make TemplateTestCodeProvider more general usable
Feb 19, 2024
ef8e844
Add "code Manager" to support code selection in new project wizard
Feb 20, 2024
2746c3c
refactor rename NewProjectSourcecodePage to NewProjectSourceLocationPage
Feb 20, 2024
d99a6bc
Add code selection page to new project wizard
Feb 22, 2024
c365e91
missed this file in previous commit
Feb 22, 2024
c0d8f5e
Multple recipes need to be on multiple lines
Feb 23, 2024
4652d51
delete IMakeFileGenerator
Feb 23, 2024
011623c
add missing @overide
Feb 23, 2024
a9d7328
rename targetTools to buildTools
Feb 23, 2024
6606c77
rename "Auto Build Builder" to "External make builder"
Feb 23, 2024
97b204f
make code description a code auto build provider
Feb 23, 2024
097007a
fix errors warnings
Feb 23, 2024
3065cc9
remove sloeber build runner
Feb 23, 2024
c67de3b
fix helpers warnings
Feb 23, 2024
73c5a3c
make sloeber work again project creation
Feb 23, 2024
09acee8
Handle sourceentries differetly
Feb 24, 2024
54b8f05
refactor rename targetTool to buildTools
Feb 24, 2024
f979368
limit project name to 40 chars
Feb 24, 2024
63918ad
remoev getRootCodeFolder
Feb 24, 2024
052b968
add getOption based on optionid
Feb 24, 2024
5e098cb
rename product (again)
Feb 24, 2024
0ea8580
arduino avr with default .cpp builds after project creation
Feb 24, 2024
e8e8a10
fix project rename error
Feb 26, 2024
3a83181
fix comment on default build folder
Feb 26, 2024
5b485f9
support ${ConfigName} in the SourceEntries
Feb 26, 2024
c0eeee7
fix project rename issue
Feb 27, 2024
07d84c7
refactor move getResolvedSourceEntries + add null tests
Feb 27, 2024
2faefa3
get the sloeber configuration the autoBuild way
Feb 27, 2024
d8bf499
Add a way for projectTypes to influence the build
Feb 27, 2024
598183c
Get the sloeber.ini.cpp file generation working again
Feb 27, 2024
ddf5c19
refactor rename arduinoNature to SloeberNature
Feb 28, 2024
5e2cce3
refactor rename PdePreProcessor to inoPreprocessor
Feb 28, 2024
c58e058
forgot his in refacture ArduinoNature To SloeberNature
Feb 28, 2024
e6c4531
Move Sloeber.ino.cpp generation from builder to builderExtension
Feb 28, 2024
e128123
refactor rename SloeberBuilTools to SloeberBuildTools
Feb 28, 2024
758c0cf
Delete some unused classes
Feb 28, 2024
e72d244
Made more integration points in the build
Feb 29, 2024
f84679d
Small mistake in previous commit
Feb 29, 2024
50614e3
remove application from plugin.xml
Feb 29, 2024
6fec478
add the autoBuild plugins to the Sloeber feature
Feb 29, 2024
3ea8314
Seperate file selection from rule making
Feb 29, 2024
8b2e5fb
Sloeber now builds newly created project with ino,avr internal builder
Feb 29, 2024
1979188
Sync the Sloeber make location with the AutoBuild way
Feb 29, 2024
0bc41f0
Do not add a timestamp to sloeber.ino.cpp (this triggers rebuild)
Feb 29, 2024
bd902fc
Remove unneeded error
Feb 29, 2024
415e4e9
removing old code
Mar 1, 2024
2f065f3
All sloeber project properties are now saved
Mar 1, 2024
b699016
Options and defaults appear when a board with options is selected
Mar 2, 2024
97e9f65
Ordering is compliant with order in Boards.txt #1450
Mar 2, 2024
8b5eb38
Do not assume the build result is in a root folder of the project
Mar 2, 2024
dbf56bd
Sloeber.ino.cpp needs to be in the same folder as the .ino files
Mar 3, 2024
7dd8d84
rename some project to make it easier to find the problem
Mar 3, 2024
2174e31
added missing @Override
Mar 3, 2024
6d85256
Support for arduino size calculation
Mar 3, 2024
142f921
fix a bunch of warnings
Mar 4, 2024
ec0757e
add clean on configuration change when needed code
Mar 4, 2024
f406183
Better buildTools projectType matching to improve testing
Mar 5, 2024
fd270c7
Making libraries work
Mar 6, 2024
c87fafb
Get libraries and library example based projects to work
Mar 6, 2024
3d7ee4a
fix error warning whenlibraries folder does not exists
Mar 6, 2024
6e8ff58
fix error warning for sample based created folders
Mar 6, 2024
1b70e2d
send libraries code that need to be archived to archiver outputtype
Mar 7, 2024
3255b0b
Add dependency commands to the compile tools
Mar 7, 2024
4ff3e36
Generate the correct dependency file
Mar 7, 2024
edc9bd4
First successful test for #1126
Mar 8, 2024
0061044
fix warning
Mar 8, 2024
34e72a8
Introduce IExample and ILibrary
Mar 10, 2024
0ff8939
Grouping in example selection and lib selection
Mar 11, 2024
3982029
Sort the items alphabetically
Mar 11, 2024
cf30c2e
change documentation from class to interface
Mar 11, 2024
3f2861a
Sorting of examples
Mar 11, 2024
ce61622
libraryselection: open tree for selected libs
Mar 11, 2024
91f389b
handle null case
Mar 11, 2024
c90e72e
Do not create a libraries folder in the project root
Mar 11, 2024
42245de
save selected example and other improvements (example lib selection)
Mar 12, 2024
35f661b
got the discovery to work
Mar 24, 2024
55b810a
fix some warnings
Mar 25, 2024
5d6906d
Fix many warnings
Mar 25, 2024
1c97780
refactor rename the tests
Mar 25, 2024
a1102e4
Some refactor rename and make objs build work
Mar 27, 2024
3d9b8dd
Extra test for folder existance before creation
Apr 6, 2024
72d95fb
refactor rename PathBuildTool(s)
Apr 15, 2024
5afd638
move spec file to plugin state location
Apr 15, 2024
0eebeae
add isProjectTypeSupported to IBuildTools and fix pathTools
Apr 15, 2024
bf46df6
Do project refresh before build
Apr 15, 2024
a1be8d8
Make the pathBuildToolsTest work
Apr 15, 2024
47718f5
version="0.0.0" keeps getting replaced with values :-(
Apr 16, 2024
f4347bc
Increase the memory Sloeber (SDK) get assigned in the eclipse.ini
Apr 16, 2024
798ca18
Add project name as valid outcome of the build
Apr 16, 2024
b6e4a5c
refactor rename getAllInstalledTargetTools getAllInstalledBuildTools
Apr 16, 2024
576c3d5
Refactor rename targetTool to buildTools
Apr 16, 2024
98134bc
Support for code in the root of the project
Apr 17, 2024
a617425
fix null as source folder during project creation
Apr 17, 2024
362510e
Add parallel build capabilities to internal builder
Apr 22, 2024
05ad9ec
1)use parallel build 2)switch between build using active confg and not
Apr 23, 2024
5e6116c
delete the projects during test as test fails (linux) due to disk full
Apr 24, 2024
4336a11
support for creating projects using URI
Apr 29, 2024
2c30364
add URI to project creation for Sloeber exclude lib doc folders
Apr 29, 2024
683cd41
fix warning and select boards smarter
Apr 30, 2024
a377954
Add autoBuildProvider so the indexer works properly
Apr 30, 2024
a4d87bb
stop on error no longer worked
Apr 30, 2024
24aa049
add attribute digitalPinToPCICR used by software serial
Apr 30, 2024
5cb1ddf
handle libraries without version properly
Apr 30, 2024
b836528
all avr example test now fully successfull
May 3, 2024
82cbf35
pom build (without the testing) successfull
May 3, 2024
c01a539
Upgrade tests to JUnit5; maven build now works
May 6, 2024
32ee293
refactor rename myProjectURI to myLocationURI
May 14, 2024
2abddc8
Add sloeber ui to the dependencies
May 14, 2024
0613827
Add test to create project with URI
May 15, 2024
0c00a17
Fix upload issue
May 16, 2024
16dd2a7
Fix unused imports
May 17, 2024
28a630c
Support source in src; root or any folder
May 19, 2024
71806a2
Add test for different source folders; fixed some warnings
May 20, 2024
49cd89a
Fix project names for project not based on examples
May 20, 2024
e2ed1ce
New system so have to assign new com ports for upload test
May 22, 2024
488e8a0
Fix regression in UI for project creation due to src folder addition
May 22, 2024
3889979
Fix null case
May 22, 2024
1623b76
Cater for absolute paths and relative paths in the dependency files
May 22, 2024
4b9f077
Refactor rename confusing methodname
May 22, 2024
e0499a7
Make upload using programmer and burn loader work
May 23, 2024
ed95508
Rewrite persistency to pre parse the saved files
May 29, 2024
26bb87b
Add page to set the configuration to be shared
Jun 1, 2024
81533b5
Add support for skipping certain keys in team config files
Jun 11, 2024
f056700
Add a copy constructor to ICodeProvider for testing
Jun 11, 2024
6ac34be
Add tests for open/close for diferent src folder locations
Jun 11, 2024
44e21fe
undo previous changes
Jun 11, 2024
5cc3d1c
set the perspective in the eclipse.ini file
Jun 11, 2024
eb862b8
merge travis failing with regression
Jun 11, 2024
84083f7
RegressionTestFailingOnTravis leftovers
Jun 12, 2024
349197c
Extend openclose test for root and other folder
Jun 12, 2024
ff5dad7
Merge branch 'master' into #1126_support_for_creating_library_archives
jantje Jun 12, 2024
804410d
fixing error during merge (at least try to fix)
Jun 12, 2024
78d9bf4
upgrade to java 21 (for eclipse)
Jun 13, 2024
5191398
github build also needs java 21
Jun 13, 2024
dc7be1f
Added org.apache.commons.lang3 to the dependencies
Jun 14, 2024
1693932
Move nightlyboardpatreontest to regression test
Jun 14, 2024
f195cea
Add org.eclipse.platform to dependencies
Jun 14, 2024
6077dab
Update launches to use java 21
Jun 14, 2024
6c6e059
solve the open close failing regression test
Jun 15, 2024
ba9e0da
run Regression as test during build
Jun 15, 2024
bf50518
tackle null case for failing test on github
Jun 15, 2024
e6190b0
reformat the file
Jun 16, 2024
e816558
Fix references to 2 icon files (fix warning in maven build)
Jun 16, 2024
bf7ab12
NightlyBoardPatron regression test ignored the project names
Jun 16, 2024
99a830a
unregister listeners when the sloeber bundle gets stopped
Jun 16, 2024
b33fe2b
Add setBuilder(id) and getEnvsMap
Jun 18, 2024
cbc1861
Env vars should not contain tabs
Jun 18, 2024
cf01260
Replace strings with constants
Jun 18, 2024
145502e
Fix error in case of running headless maven
Jun 18, 2024
5cf40a5
fix build issues regressions due to moved icons
Jun 18, 2024
39e9a27
refactor BuildAndVerify + add buildAndVerifyAllBuilders
Jun 18, 2024
7f594aa
another icon reference that was not updated
Jun 19, 2024
85deb60
Add some Arduino env vars/refactor rename some env vars
Jun 19, 2024
f666e01
Fixed a issue that only happened in maven regression test
Jun 19, 2024
20c5e18
Added buildernameID as parameter to project creation
Jun 19, 2024
e540822
BuildAndVerify refactory and adding beforeclass (see coments)
Jun 19, 2024
52d52ad
Casing problem AutoBuildProject=>autoBuildProject
Jun 19, 2024
d47a4d8
getRecipes:Github build provides stackTrace adding status to investigate
Jun 19, 2024
4ed2572
Better logging to find out why the regression test fails on github
Jun 19, 2024
4f42aff
provide original exception when rethrowing
Jun 22, 2024
9a9fe2e
print stacktrace when exception (remove Auto-generated catch block)
Jun 22, 2024
b82ba39
remove code of method waitForAllJobsToFinish
Jun 22, 2024
ece58dc
Remove exception handling from sloeber tests
Jun 22, 2024
3aff665
Avoid exception (and stacktrace) when resolving variables
Jun 22, 2024
7013c74
remove some exception handling from Autobuild tests
Jun 22, 2024
819c4c6
remove pgmspace lib earlier
Jun 22, 2024
b295897
some stacktrace prints that were overlooked
Jun 22, 2024
957163d
Seperate the environment variable creation in 2 parts
Jun 22, 2024
bce21a2
Use the same env var expansion in Sloeber as in Autobuild
Jun 22, 2024
5f3f571
Boardsmanager needs some time to get started
Jun 22, 2024
bb4f293
If not all envars could be generated retry later
Jun 22, 2024
331c54e
Remove waitForAllJobsToFinish from sloeber regression test
Jun 22, 2024
0a30c71
fix comment in waiting for boardsmanager message
Jun 23, 2024
7e314dc
remove confusing dead code
Jun 23, 2024
08e0291
Use UTF-8 as file encoder instead of the default one
Jun 23, 2024
9b525b2
Added waiting code for the indexer
Jun 23, 2024
483f9d6
Handle ${SLOEBER_HOME} properly for the boards.txt file
Jun 24, 2024
58dcbe4
autobuild.cfg file changes are now processed
Jun 27, 2024
8459987
The buildtool was not correct after project open
Jun 27, 2024
19cc7c3
Add equals to many interfaces/classes
Jun 30, 2024
91bac12
Add getToolFromOptionID to toolchain
Jun 30, 2024
c51e3e9
added getResource and addChild(String,IResource)
Jun 30, 2024
57f73fd
cater for null case
Jun 30, 2024
b564033
Give AutoBuildOptions their own class
Jun 30, 2024
ede2bf0
Added persistency check for options
Jun 30, 2024
4bb6c56
Clean should not change the active config
Jul 1, 2024
28c0c89
fix equal implementation
Jul 1, 2024
745e5ec
Use different build command so the active config stays the same
Jul 1, 2024
19a7c5f
refactor rename some variables
Jul 1, 2024
917c99a
remove KEY_IS_AUTO_BUILD_ENABLED key
Jul 1, 2024
89f580c
properly calculate myIsAutoBuildEnabled & fix equals
Jul 1, 2024
fae4c26
Cleanup code; add comments; remove unneeded check for isTeam
Jul 5, 2024
cb74a81
do not put [config].TEAM.IS SHARED in the shared file
Jul 5, 2024
def6447
Add custom team exclusion keys (no gui yet)
Jul 5, 2024
f538ee5
Remove the configname from the exclusion keys
Jul 7, 2024
d88d203
Add getName method to IAutoBuildConfigurationDescription
Jul 7, 2024
a54cdfd
Add team exclusion key editing (very badly)
Jul 7, 2024
7bcf726
A better implementation to provide a exclusion key
Jul 9, 2024
b314072
Add some default exclusion keys
Jul 9, 2024
7f1b439
Externalizing strings to avoid warnings
Jul 9, 2024
6900b22
Externalizing strings and rename var to avoid warnings
Jul 9, 2024
ca5b787
Setting page did not update values when changing configuration
Jul 13, 2024
e4327bf
Ignore UNDEF during discovery
Jul 23, 2024
1cf0ceb
getting rid of the warnings caused by cdt issue 870
Jul 23, 2024
5bb17eb
Same warning as previous commit but now caused by boards without variant
Jul 23, 2024
f0491aa
Missed some cases when no variant folder is used
Jul 26, 2024
12d0e6c
retry discovery when no items were found previous
Jul 30, 2024
b04fa62
cope with null case
Jul 30, 2024
a374580
Add regression test for #1126
Jul 30, 2024
31be68a
In windows use CMD to execute commands & clean not delete build folder
Aug 6, 2024
6f41f6f
Made test example extension of example
Aug 6, 2024
299faee
On Windows #1126 works
Aug 6, 2024
8c24c7a
catching 2 error conditions
Aug 7, 2024
a87ff56
reactivating waitForAllJobsToFinish as it makes tests more stable
Aug 7, 2024
36bd08a
clean error messages before running the test
Aug 7, 2024
1d7d427
Fix issue in dependency files with URI based projects
Aug 7, 2024
3b73338
use same workaround for linux as windows
Aug 7, 2024
25a7837
trying to solve the nodejs warning in github actions
Aug 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Maven
uses: stCarolas/setup-maven@v4.5
uses: stCarolas/setup-maven@v5
with:
maven-version: 3.9.6
- name: Set up JDK 17
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '17'
java-version: '21'
distribution: 'adopt'
- name: Build Sloeber with Maven
run: mvn --no-transfer-progress verify -Pall,sloeber_release,NOSDK -Dtest=NightlyJenkins -DfailIfNoTests=false
run: mvn --no-transfer-progress verify -Pall,sloeber_release,NOSDK -Dtest=RegressionTest -DfailIfNoTests=false

- name: Archive production artifacts
uses: actions/upload-artifact@v4
Expand Down
17 changes: 17 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>arduino-eclipse-plugin</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
2 changes: 2 additions & 0 deletions .settings/org.eclipse.core.resources.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

This file was deleted.

7 changes: 7 additions & 0 deletions io.sloeber.autoBuild.test/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
3 changes: 2 additions & 1 deletion io.sloeber.autoBuild.test/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/*.log
/bin/
/.classpath
/.project
/hs_err_pid4576.log
28 changes: 28 additions & 0 deletions io.sloeber.autoBuild.test/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>io.sloeber.autoBuild.test</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
22 changes: 22 additions & 0 deletions io.sloeber.autoBuild.test/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: io.sloeber.autoBuild.test;singleton:=true
Bundle-Version: 4.4.3.qualifier
Require-Bundle: io.sloeber.autoBuild,
org.junit,
junit-jupiter-api;bundle-version="5.0.0",
junit-jupiter-params;bundle-version="5.0.0",
org.eclipse.core.resources,
org.apache.log4j;bundle-version="1.2.24",
org.eclipse.cdt.core;bundle-version="7.4.200",
org.eclipse.osgi,
org.eclipse.core.jobs,
org.eclipse.swt,
org.eclipse.core.runtime,
org.eclipse.cdt.core.native,
org.eclipse.equinox.registry,
org.eclipse.ui.workbench,
io.sloeber.autoBuild.ui;bundle-version="4.4.3"
Automatic-Module-Name: io.sloeber.autoBuild.test
Bundle-RequiredExecutionEnvironment: JavaSE-21
5 changes: 5 additions & 0 deletions io.sloeber.autoBuild.test/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml
431 changes: 431 additions & 0 deletions io.sloeber.autoBuild.test/launch/AutoBuildIssues.launch

Large diffs are not rendered by default.

425 changes: 425 additions & 0 deletions io.sloeber.autoBuild.test/launch/AutoBuildRegression.launch

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading