Skip to content

Instantly share code, notes, and snippets.

@adrianlzt
Created July 9, 2020 07:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save adrianlzt/a76f33442c875bfc9017956f3c24e799 to your computer and use it in GitHub Desktop.
Save adrianlzt/a76f33442c875bfc9017956f3c24e799 to your computer and use it in GitHub Desktop.
CMDB not-complete build instructions
Download code from sourceforge (.tar.gz)
Deps needed:
https://bitbucket.org/tecnoteca/cmdbuild-dependencies/downloads/
Uncompress and install:
bash install-artifacts.sh
Copy those deps to our m2 local cache:
rsync -a . $HOME/.m2/repository/
Compile shark-ws-plain and copy to the dir where cmdb looks for it:
cd $HOME/.m2/repository/net/sourceforge/sharkwf/shark-ws-plain
mvn package
cp target/shark-ws-plain-4.4-1.war 4.4-1/shark-ws-plain-4.4-1.war
cp $HOME/Documentos/cmdbuild/cmdbuild-3.2.1/shark/extensions/target/cmdbuild-shark-extensions-3.2-DEV-SNAPSHOT.jar $HOME/.m2/repository/org/cmdbuild/cmdbuild-shark-extensions/3.2-DEV-SNAPSHOT/cmdbuild-shark-extensions-3.2-DEV-SNAPSHOT.jar
mkdir -p $HOME/.m2/repository/org/cmdbuild/cmdbuild-utils-lang/3.2-DEV-SNAPSHOT/
cp ../cmdbuild-3.2.1/utils/lang/target/cmdbuild-utils-lang-3.2-DEV-SNAPSHOT.jar $HOME/.m2/repository/org/cmdbuild/cmdbuild-utils-lang/3.2-DEV-SNAPSHOT/cmdbuild-utils-lang-3.2-DEV-SNAPSHOT.jar
mkdir -p $HOME/.m2/repository/org/cmdbuild/cmdbuild-utils-io/3.2-DEV-SNAPSHOT/ $HOME/.m2/repository/org/cmdbuild/cmdbuild-client-rest/3.2-DEV-SNAPSHOT/ $HOME/.m2/repository/org/cmdbuild/cmdbuild-utils-postgres/3.2-DEV-SNAPSHOT $HOME/.m2/repository/org/cmdbuild/cmdbuild-core-configdefs/3.2-DEV-SNAPSHOT
cp utils/io/target/cmdbuild-utils-io-3.2-DEV-SNAPSHOT.jar $HOME/.m2/repository/org/cmdbuild/cmdbuild-utils-io/3.2-DEV-SNAPSHOT/; cp client/rest/target/cmdbuild-client-rest-3.2-DEV-SNAPSHOT.jar $HOME/.m2/repository/org/cmdbuild/cmdbuild-client-rest/3.2-DEV-SNAPSHOT/; cp utils/postgres/target/cmdbuild-utils-postgres-3.2-DEV-SNAPSHOT.jar $HOME/.m2/repository/org/cmdbuild/cmdbuild-utils-postgres/3.2-DEV-SNAPSHOT; cp core/configdefs/target/cmdbuild-core-configdefs-3.2-DEV-SNAPSHOT.jar $HOME/.m2/repository/org/cmdbuild/cmdbuild-core-configdefs/3.2-DEV-SNAPSHOT/
vi pom.xml
remove utils/bugreportcollector and utils/alfresco-migrator
install "sencha-cmd" (we need the "sencha" binary)
http://cdn.sencha.com/cmd/6.2.2/no-jre/SenchaCmd-6.2.2-linux-amd64.sh.zip
Put sencha in the PATH
export PATH=$HOME/Documentos/Sencha/Cmd/6.2.2.36/:$PATH
mvn clean install
cmdbuild-test-core fail:
Tests in error:
GeoAttributeIT.createDeleteGeoAttribute@org.cmdbuild.test.core.getEmptyDb » Runtime
GeoAttributeIT.createGeoAttribute@org.cmdbuild.test.core.getEmptyDb » Runtime ...
GeoStyleRulesIT.testGeoStyleRules@org.cmdbuild.test.core.getEmptyDb » Runtime ...
GeoStyleRulesIT.testGeoStyleRulesParamsCreateUpdate@org.cmdbuild.test.core.getEmptyDb » Runtime
GeoStyleRulesIT.testGeoStyleRulesWithFunction@org.cmdbuild.test.core.getEmptyDb » Runtime
GisValueIT.testGisValueWithNavTree:86->createGeoAttribute:165 » UncategorizedSQL
Ingore and skip the rest of tests:
mvn install -rf :cmdbuild-main
To build just one module:
mvn package -pl :cmdbuild-services-rest-v3
To add that module, uncompress the oficial .war, add our module and regenerate .war file
@techseria
Copy link

https://bitbucket.org/tecnoteca/cmdbuild-dependencies/downloads/

Above repo is not accessible for us. From where we can download dependencies?

@adrianlzt
Copy link
Author

Maybe here? https://bitbucket-archive.softwareheritage.org/projects/te/tecnoteca/cmdbuild-dependencies.html

It was publicy available back then.

I started a thread in the CMDBuild forum some months ago: https://forum.cmdbuild.org/t/instructions-to-build-from-source-code/4384

But looks like nobody wants to help.

Please, if you get to make a complete build, post the instructions in the forum, here or somewhere. Thanks!

@lamature
Copy link

lamature commented Nov 4, 2021

Cannot guarantee that this will work for you. Running this script allowed me to go into cmdbuild and successfully run ./release.sh
The variables M2REPO, FIXDIR, CMDBUILD should match your configuration. And, yes, only tested on linux sorry. Guess a similar window cmd script could be made starting from this.
Also, add this two repositories. I did not want to modify any file for this test, so I forced them in my ~/.m2/settings.xml, but you may as well modify the base pom.xml:

Repositories

<repository>
	<id>repo1-maven</id>
	<name>Repo1 Maven</name>
	<url>https://repo1.maven.org/maven2</url>
	<layout>default</layout>
</repository>
<repository>
	<id>3dparty-ce</id>
	<name>Third Party CE Artifacts</name>
	<url>https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts</url>
	<layout>default</layout>
</repository>

And here the script.

#!/bin/bash -e
# Java 8 is needed for install-artifacts.sh to work properly
# Start configuration
M2REPO="$HOME/.m2"
FIXDIR="$HOME/cmbfix"
CMDBUILD="$HOME/src/cmdbuild-main/"
# End configuration
mkdir -p "$FIXDIR"
set -x
cd "$FIXDIR"
if [ ! -f cmdbuild-dependencies-2.0-SNAPSHOT-20120416.zip ]; then
    wget https://bitbucket-archive.softwareheritage.org/new-static/ae/ae25d06d-16a8-4112-a2e6-c4feb77bfec4/attachments/cmdbuild-dependencies-2.0-SNAPSHOT-20120416.zip
fi
rm -Rf cmdbuild-dependencies
unzip cmdbuild-dependencies-2.0-SNAPSHOT-20120416.zip
cd cmdbuild-dependencies
./install-artifacts.sh
cd net/sourceforge/sharkwf/shark-ws-plain/
mvn package
mkdir -p "$M2REPO/repository/net/sourceforge/sharkwf/shark-ws-plain/4.4-1"
cp pom.xml "$M2REPO/repository/net/sourceforge/sharkwf/shark-ws-plain/4.4-1/shark-ws-plain-4.4-1.pom"
cp target/shark-ws-plain-4.4-1.war "$M2REPO/repository/net/sourceforge/sharkwf/shark-ws-plain/4.4-1"
rm -f "$M2REPO/repository/net/sourceforge/sharkwf/shark-ws-plain/4.4-1/shark-ws-plain-4.4-1.pom.lastUpdated"
cd "$FIXDIR"
if [ ! -f SenchaCmd-6.5.2-linux-amd64.sh.zip ]; then
    wget http://cdn.sencha.com/cmd/6.5.2/no-jre/SenchaCmd-6.5.2-linux-amd64.sh.zip
fi
unzip -o SenchaCmd-6.5.2-linux-amd64.sh.zip
# I already have $HOME/bin in my PATH, if you don't you can use any folder that you have in your PATH appendend with /6.5.2.15 for the -dir parameter
./SenchaCmd-6.5.2.15-linux-amd64.sh -q -c -dir "$HOME/bin/6.5.2.15" -overwrite
cd "$CMDBUILD/utils/sencha-maven-plugin"
mvn clean install

@adrianlzt
Copy link
Author

Cool, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment