diff options
-rw-r--r-- | conf/dependencies.mk | 22 | ||||
-rw-r--r-- | conf/sources.mk | 7 | ||||
-rw-r--r-- | makefiles/mvn-simple.mk | 16 |
3 files changed, 33 insertions, 12 deletions
diff --git a/conf/dependencies.mk b/conf/dependencies.mk index b2831c3..17d5eaa 100644 --- a/conf/dependencies.mk +++ b/conf/dependencies.mk @@ -1,13 +1,25 @@ -build/packages/modello-bootstrap: \ - build/packages/maven-plugin-annotations-bootstrap \ - build/packages/maven-plugin-api-bootstrap \ - build/packages/maven-plugin-tools-api-bootstrap \ +build/packages/maven-bootstrap: \ + build/packages/modello-core + +build/packages/modello-core: \ build/packages/plexus-build-api \ + build/packages/plexus-container-default \ build/packages/plexus-utils -build/packages/modello-core-bootstrap: \ +# What is required to use the modello command line +modello-cli = \ + build/packages/guava \ + build/packages/modello-core \ build/packages/plexus-build-api \ + build/packages/plexus-classworlds \ build/packages/plexus-container-default \ + build/packages/plexus-utils \ + build/packages/xbean-reflect + +build/packages/modello-plugins: \ + build/packages/modello-core \ + build/packages/plexus-container-default \ + build/packages/plexus-build-api \ build/packages/plexus-utils build/packages/maven-artifact-bootstrap: \ diff --git a/conf/sources.mk b/conf/sources.mk index 9688905..201f7f5 100644 --- a/conf/sources.mk +++ b/conf/sources.mk @@ -1,9 +1,10 @@ _apache_svn = https://svn.apache.org/repos/asf _apache_mirror = http://archive.apache.org/dist -#maven = tar|$(_apache_mirror)/maven/maven-3/3.2.1/source/apache-maven-3.2.1-src.tar.gz -#modello-bootstrap = git|git://github.com/sonatype/modello.git|modello-1.8.1 -modello-core-bootstrap = git|git://github.com/sonatype/modello.git|modello-1.8.1/modello-core +maven = tar|$(_apache_mirror)/maven/maven-3/3.2.1/source/apache-maven-3.2.1-src.tar.gz + +modello-core = git|git://github.com/sonatype/modello.git|modello-1.8.1/modello-core +modello-plugins = git|git://github.com/sonatype/modello.git|modello-1.8.1/modello-plugins maven-artifact-bootstrap = tar|$(_apache_mirror)/maven/maven-3/3.2.1/source/apache-maven-3.2.1-src.tar.gz|maven-artifact maven-plugin-api-bootstrap = tar|$(_apache_mirror)/maven/maven-3/3.2.1/source/apache-maven-3.2.1-src.tar.gz|maven-plugin-api diff --git a/makefiles/mvn-simple.mk b/makefiles/mvn-simple.mk index a6b19bb..4f4b73a 100644 --- a/makefiles/mvn-simple.mk +++ b/makefiles/mvn-simple.mk @@ -18,8 +18,8 @@ artifact := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:artif version := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:version -n -c /_:project/_:parent/_:version pom.xml) $(version)) group := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:groupId -n -c /_:project/_:parent/_:groupId pom.xml)) srcdir := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:build/_:sourceDirectory -n pom.xml) $(srcdir) src/main/java) -mvn_subdirs := $(patsubst %/pom.xml,%,$(wildcard */pom.xml)) -subdirs := $(if $(subdirs),$(filter $(mvn_subdirs),$(subdirs)),$(mvn_subdirs)) +subdirs := $(patsubst %/pom.xml,%,$(wildcard */pom.xml)) +subdir-deps ?= targets := pom $(if $(wildcard src/main/ $(srcdir)),jar) ################################################################################ @@ -77,8 +77,16 @@ clean: PHONY $(addsuffix /clean,$(subdirs)) # recurse -$(addsuffix /%,$(subdirs)): PHONY - srcdir='$(srcdir)' version='$(version)' $(MAKE) -C $(@D) -f '$(abspath $(firstword $(MAKEFILE_LIST)))' '$(@F)' +deps2jars = $(wildcard $(patsubst %/all,%/target/*.jar,$(filter $(addsuffix /all,$(subdirs)),$1))) +deps2classpath = $(shell echo $(abspath $(call deps2jars,$1)) $(CLASSPATH) | tr ' ' :) + +define recurse-rule +$1/%: PHONY + CLASSPATH='$$(call deps2classpath,$$^)' srcdir='$$(srcdir)' version='$$(version)' $$(MAKE) -C '$1' -f '$$(abspath $$(firstword $$(MAKEFILE_LIST)))' '$$*' +endef +$(foreach subdir,$(subdirs),$(eval $(call recurse-rule,$(subdir)))) + +$(if $(subdir-deps),include $(subdir-deps)) # boilerplate |