6 OSGI_CORE_VERSION
=7.0.0
7 OSGI_CMPN_VERSION
=7.0.0
8 OSGI_ANNOTATION_VERSION
=7.0.0
11 ORIGIN_BASE
=$(HOME
)/.cache
/argeo
/build
/origin
12 SDK_BUILD_BASE ?
= .
/output
13 BOOTSTRAP_BASE
=$(SDK_BUILD_BASE
)/bootstrap
16 ECJ_SRC
=$(ECJ_BASE
)/OSGI-OPT
/src
19 BNDLIB_SRC
=$(BNDLIB_BASE
)/OSGI-OPT
/src
21 OSGI_BASE
=$(BOOTSTRAP_BASE
)/osgi
24 $(ORIGIN_BASE
)/ecjsrc-
$(ECJ_VERSION
).jar \
25 $(ORIGIN_BASE
)/org.osgi
/osgi.core-
$(OSGI_CORE_VERSION
)-sources.jar \
26 $(ORIGIN_BASE
)/org.osgi
/osgi.cmpn-
$(OSGI_CMPN_VERSION
)-sources.jar \
27 $(ORIGIN_BASE
)/org.osgi
/osgi.annotation-
$(OSGI_ANNOTATION_VERSION
)-sources.jar \
28 $(ORIGIN_BASE
)/org.slf4j
/slf4j-api-
$(SLF4J_VERSION
)-sources.jar \
29 $(ORIGIN_BASE
)/bnd-
$(BND_VERSION
).
tar.gz
31 all: ecj-build bndlib-build
32 make
-C org.argeo.tp.build
all
35 mkdir
-p
$(BOOTSTRAP_BASE
)
37 find
$(ECJ_BASE
)/OSGI-OPT
/src | grep
"\.java" > $(BOOTSTRAP_BASE
)/ecj.todo
39 $(JAVA_HOME
)/bin
/javac
-d
$(ECJ_BASE
) -source
17 -target
17 -Xlint
:none @
$(BOOTSTRAP_BASE
)/ecj.todo
41 bndlib-build
: ecj-build
42 $(JAVA_HOME
)/bin
/java
-cp
$(ECJ_BASE
) org.eclipse.jdt.internal.compiler.batch.Main
-nowarn \
43 -source
17 -target
17 \
48 $(RM
) -rf
$(BOOTSTRAP_BASE
)
49 find
$(ECJ_BASE
) -name
"*.class" -type f
-exec
rm -f
{} \
;
50 find
$(BNDLIB_BASE
) -name
"*.class" -type f
-exec
rm -f
{} \
;
51 make
-C org.argeo.tp.build
clean
59 $(RM
) -rf
$(BNDLIB_BASE
)
60 $(RM
) -rf org.argeo.tp.build
/biz.aQute.bndlib
/src
61 $(RM
) -rf org.argeo.tp.build
/org.eclipse.jdt.core.compiler.batch
/src
63 deb-source
: distclean clean-sources bootstrap-prepare-sources
67 $(RM
) -rf
$(BNDLIB_BASE
)
68 $(RM
) -rf org.argeo.tp.build
/biz.aQute.bndlib
/src
70 bootstrap-prepare-sources
: bootstrap-download-sources
73 cd
$(ECJ_BASE
) && jar
-xf
$(ORIGIN_BASE
)/ecjsrc-
$(ECJ_VERSION
).jar
74 # remove ant-dependent class
75 $(RM
) $(ECJ_BASE
)/org
/eclipse
/jdt
/core
/JDTCompilerAdapter.java
77 $(RM
) $(ECJ_BASE
)/*.jar
78 $(RM
) $(ECJ_BASE
)/build.xml
79 $(RM
) $(ECJ_BASE
)/ecj
.1
80 $(RM
) -rf
$(ECJ_BASE
)/scripts
81 # TODO: keep the service files
82 $(RM
) -rf
$(ECJ_BASE
)/META-INF
84 # copy sources and resources
86 cp
-r
$(ECJ_BASE
)/org
$(ECJ_SRC
)
88 cd
$(ECJ_BASE
) && find org
-name
"*.java" -type f
-exec
rm -f
{} \
;
89 cd
$(ECJ_BASE
) && find org
-name
"*.html" -type f
-exec
rm -f
{} \
;
93 mkdir
-p
$(BOOTSTRAP_BASE
)
94 cd
$(BOOTSTRAP_BASE
) && tar -xzf
$(ORIGIN_BASE
)/bnd-
$(BND_VERSION
).
tar.gz
95 mkdir
-p
$(BNDLIB_SRC
)
96 cp
-r
$(BOOTSTRAP_BASE
)/bnd-
$(BND_VERSION
).REL
/aQute.libg
/src
/* $(BNDLIB_SRC
)
97 cp
-r
$(BOOTSTRAP_BASE
)/bnd-
$(BND_VERSION
).REL
/biz.aQute.bndlib
/src
/* $(BNDLIB_SRC
)
98 cp
-r
$(BOOTSTRAP_BASE
)/bnd-
$(BND_VERSION
).REL
/biz.aQute.bnd.annotation
/src
/* $(BNDLIB_SRC
)
99 $(RM
) -rf
$(BOOTSTRAP_BASE
)/bnd-
$(BND_VERSION
).REL
102 mkdir
-p
$(OSGI_BASE
)
103 cd
$(OSGI_BASE
) && jar
-xf
$(ORIGIN_BASE
)/org.osgi
/osgi.core-
$(OSGI_CORE_VERSION
)-sources.jar
104 cd
$(OSGI_BASE
) && jar
-xf
$(ORIGIN_BASE
)/org.osgi
/osgi.cmpn-
$(OSGI_CMPN_VERSION
)-sources.jar
105 cd
$(OSGI_BASE
) && jar
-xf
$(ORIGIN_BASE
)/org.osgi
/osgi.annotation-
$(OSGI_ANNOTATION_VERSION
)-sources.jar
107 mkdir
-p
$(BNDLIB_SRC
)/org
/osgi
/service
108 cp
-r
$(OSGI_BASE
)/org
/osgi
/annotation
$(BNDLIB_SRC
)/org
/osgi
109 cp
-r
$(OSGI_BASE
)/org
/osgi
/resource
$(BNDLIB_SRC
)/org
/osgi
110 cp
-r
$(OSGI_BASE
)/org
/osgi
/framework
$(BNDLIB_SRC
)/org
/osgi
111 cp
-r
$(OSGI_BASE
)/org
/osgi
/namespace
$(BNDLIB_SRC
)/org
/osgi
112 cp
-r
$(OSGI_BASE
)/org
/osgi
/util
$(BNDLIB_SRC
)/org
/osgi
113 cp
-r
$(OSGI_BASE
)/org
/osgi
/dto
$(BNDLIB_SRC
)/org
/osgi
114 cp
-r
$(OSGI_BASE
)/org
/osgi
/service
/repository
$(BNDLIB_SRC
)/org
/osgi
/service
115 cp
-r
$(OSGI_BASE
)/org
/osgi
/service
/log
$(BNDLIB_SRC
)/org
/osgi
/service
118 cd
$(BNDLIB_SRC
) && jar
-xf
$(ORIGIN_BASE
)/org.slf4j
/slf4j-api-
$(SLF4J_VERSION
)-sources.jar
119 $(RM
) -rf
$(BNDLIB_SRC
)/META-INF
120 cp
-rv ..
/rebuild
/org.argeo.tp
/org.argeo.ext.slf4j
/src
/* $(BNDLIB_SRC
)
123 $(RM
) -rf
$(BNDLIB_SRC
)/aQute
/bnd
/annotation
/spi
124 $(RM
) -rf
$(BNDLIB_SRC
)/aQute
/bnd
/junit
126 #mkdir -p org.argeo.tp.build/biz.aQute.bndlib/src
127 #cp -r ../rebuild/org.argeo.tp/org.argeo.ext.slf4j/src/* org.argeo.tp.build/biz.aQute.bndlib/src
129 # make sure directory is clean
132 bootstrap-download-sources
: $(SOURCE_ARCHIVES
)
134 $(ORIGIN_BASE
)/ecjsrc-
$(ECJ_VERSION
).jar
:
135 mkdir
-p
$(ORIGIN_BASE
)
136 wget
-c
-O
$(ORIGIN_BASE
)/ecjsrc-
$(ECJ_VERSION
).jar https
://ftp-stud.hs-esslingen.de
/Mirrors
/eclipse
/eclipse
/downloads
/drops4
/R-4.26
-202211231800/ecjsrc-
$(ECJ_VERSION
).jar
138 $(ORIGIN_BASE
)/bnd-
$(BND_VERSION
).
tar.gz
:
139 mkdir
-p
$(ORIGIN_BASE
)
140 wget
-c
-O
$(ORIGIN_BASE
)/bnd-
$(BND_VERSION
).
tar.gz https
://github.com
/bndtools
/bnd
/archive
/refs
/tags/$(BND_VERSION
).REL.
tar.gz
142 $(ORIGIN_BASE
)/org.osgi
/osgi.core-
$(OSGI_CORE_VERSION
)-sources.jar
:
143 mkdir
-p
$(ORIGIN_BASE
)/org.osgi
144 wget
-c
-O
$(ORIGIN_BASE
)/org.osgi
/osgi.core-
$(OSGI_CORE_VERSION
)-sources.jar https
://repo1.maven.org
/maven2
/org
/osgi
/osgi.core
/$(OSGI_CORE_VERSION
)/osgi.core-
$(OSGI_CORE_VERSION
)-sources.jar
146 $(ORIGIN_BASE
)/org.osgi
/osgi.cmpn-
$(OSGI_CMPN_VERSION
)-sources.jar
:
147 mkdir
-p
$(ORIGIN_BASE
)/org.osgi
148 wget
-c
-O
$(ORIGIN_BASE
)/org.osgi
/osgi.cmpn-
$(OSGI_CMPN_VERSION
)-sources.jar https
://repo1.maven.org
/maven2
/org
/osgi
/osgi.cmpn
/$(OSGI_CMPN_VERSION
)/osgi.cmpn-
$(OSGI_CMPN_VERSION
)-sources.jar
150 $(ORIGIN_BASE
)/org.osgi
/osgi.annotation-
$(OSGI_ANNOTATION_VERSION
)-sources.jar
:
151 mkdir
-p
$(ORIGIN_BASE
)/org.osgi
152 wget
-c
-O
$(ORIGIN_BASE
)/org.osgi
/osgi.annotation-
$(OSGI_ANNOTATION_VERSION
)-sources.jar https
://repo1.maven.org
/maven2
/org
/osgi
/osgi.annotation
/$(OSGI_ANNOTATION_VERSION
)/osgi.annotation-
$(OSGI_ANNOTATION_VERSION
)-sources.jar
154 $(ORIGIN_BASE
)/org.slf4j
/slf4j-api-
$(SLF4J_VERSION
)-sources.jar
:
155 mkdir
-p
$(ORIGIN_BASE
)/org.slf4j
156 wget
-c
-O
$(ORIGIN_BASE
)/org.slf4j
/slf4j-api-
$(SLF4J_VERSION
)-sources.jar https
://repo1.maven.org
/maven2
/org
/slf4j
/slf4j-api
/$(SLF4J_VERSION
)/slf4j-api-
$(SLF4J_VERSION
)-sources.jar