...
Software | Recommended version | Check runnable | Where to get it | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Java SDK | 1.8.x+ | java -version | http://www.oracle.com/technetwork/java/javase/downloads/index.html | ||||||||||||
NodeJS | 8.x.x+
12.x.x+
| node --version | https://nodejs.org/en/download/ | ||||||||||||
NPM | 6.4.x+
6.14.x+
| npm -version | https://www.npmjs.com | ||||||||||||
Maven | v.3.0+ | mvn -version | http://maven.apache.org/download.html | ||||||||||||
Ant | v.1.8+ | ant -version | http://ant.apache.org/bindownload.cgi | ||||||||||||
Ant contrib | v.1.0b+ | http://ant-contrib.sourceforge.net | |||||||||||||
Tomcat | v.7+ | http://tomcat.apache.org | |||||||||||||
MySQL | v.5.5+ | mysql | http://dev.mysql.com/downloads/ |
...
Warning |
---|
You only need to perform steps in this section once. After these are correctly setup skip this section in day to day builds. |
Maven
3rd party
...
libraries Label Body pre 3.3.0 Colour danger
Body | pre 3.3.0 |
---|---|
Colour | danger |
YesCart uses some 3rd party libraries that are no available on maven central, so you need to manually add them to your local repository
Go to the root of the YesCart checkout directory (i.e. /dev/yc in the example below).
...
Tip |
---|
If above does not work please make sure that your mvn installation is working correctly from command line and that all environment variables have been setup correctly. |
First time maven
...
build Label Body pre 4.0.0 Colour danger
Body | pre 4.0.0 |
---|---|
Colour | danger |
Run maven *clean* install command that will compile, test and package the code using the *dev* environment configurations
Warning |
---|
Note the clean phase in the first time build. It is necessary was necessary in pre 4.0.0 versions to load all nodes dependencies for the jam-jsclient module. |
Code Block |
---|
/dev/yc$ mvn clean install |
...
Profile | Alternative | Default | Dependency1 | Affected module | Version | Notes | ||
---|---|---|---|---|---|---|---|---|
dev | jam, sf, api | 3.0.0+ | synonym for -Denv=dev | |||||
devIntellijIDEA | jam, sf, api | 3.0.0+ | synonym for -Denv=dev-idea | |||||
installer | 3.0.0+ | Includes installer module in the build | ||||||
derby | mysql, mysql8 | jam, sf, api | 3.0.0+ | Sets derby connector for hibernate | ||||
mysql | derby, mysql8 | jam, sf, api | 3.0.0+ | Sets mysql connector for hibernate (connector/j 5.x.x) | ||||
mysql8 | mysql, derby | jam, sf, api | 4.0.0+ | Sets mysql connector for hibernate (connector/j 8.x.x) | ||||
ftEmbededLucene | ftDisabled | sf, api | 3.5.0+ | Enables Lucene to be full text search provider for storefront | ||||
ftDisabled | ftEmbededLucene | sf, api | 3.5.0+ | NOOP full text search provider for storefront (used for builds that use external CMS + external FT provider) | ||||
jam-jsclient | 3.3.0+
| Deprecated in 4.0.0, please use admincors and appropriate npm scripts Used for JAM client development with validate phase to update currently running instance. Usage is from within specific module:
Use this profile for supporting IDE builds to copy extra resources that IDE does not "see". | ||||||
ssl | jam, sf, api | 3.0.0+ | Sets secure configurations for wicket (enabled security, guarantee CONFIDENTIAL) and sets up default secure and insecure ports (8443, 8080). If not used then "behind Apache" mode is assumed (disables security, guarantee NONE), default secure and insecure ports (443, 80). | |||||
cors | corsOff | api | 3.7.0+ | Allows to enable CORS mode for API. See REST API for more details | ||||
corsOff | cors | api | Disable CORS mode for API (original 3.6.x behaviour) | |||||
admincors | admincorsOff | jam | 4.0.0+ | Enables CORS in Admin app APIs. It is recommended to switch this option on in local development, so that SPA started in npm can connect to the locally running server. There is a convenience npm start script startlocal.sh located in jam-jsclient/src/main/typescript that will start the client in "local" mode which will connect to APIs on localhost:8082/cp (which is default development setup). | ||||
admincorsOff | admincors | jam | 4.0.0+ | Disables CORS in Admin app APIs. | ||||
templates | jam, sf, api | 3.0.0+ | DO NOT use for full builds. This profile allows to manually copy all necessary templates to relevant module. Usage is from within specific module:
Use this profile for supporting IDE builds to copy extra resources that IDE does not "see". | |||||
connREST | connWS, connJGIPv4, connJGIPv6 | jam, sf, api | 3.6.0+ | REST API connector for internal communication between application in the cluster | ||||
connWS | connREST, connJGIPv4, connJGIPv6 | jam, sf, api | 3.6.0+ | WebServices connector for internal communication between application in the cluster | ||||
connJGIPv4 | connREST, connWS, connJGIPv4 | jam, sf, api | 3.6.0+ | JGroups IPv4 connector for internal communication between application in the cluster | ||||
connJGIPv6 | connREST, connWS, connJGIPv6 | jam, sf, api | 3.6.0+ | JGroups IPv6 connector for internal communication between application in the cluster | ||||
paymentBase | paymentAll | payment modules | 3.0.0+ | Disabled all additional payment modules | ||||
paymentAll | paymentBase | payment modules | 3.0.0+ | Enables all additional payment modules | ||||
paymentLiqPay | paymentLiqPayOff | payment modules | 3.0.0+ | Enables LiqPay additional payment module | ||||
paymentLiqPayOff | paymentLiqPay | payment modules | 3.0.0+ | Disables LiqPay additional payment module | ||||
paymentCybersource | paymentCybersourceOff | payment modules | 3.0.0+ | Enables Cybersource additional payment module | ||||
paymentCybersourceOff | paymentCybersource | payment modules | 3.0.0+ | Disables Cybersource additional payment module | ||||
paymentAuthorize | paymentAuthorizeOff | payment modules | 3.0.0+ | Enables Authorize.NET additional payment module | ||||
paymentAuthorizeOff | paymentAuthorize | payment modules | 3.0.0+ | Disables Authorize.NET additional payment module | ||||
paymentPaypal | paymentPaypalOff | payment modules | 3.0.0+ | Enables PayPal additional payment module (PayPal NVP, Payflow and Express) | ||||
paymentPaypalOff | paymentPaypal | payment modules | 3.0.0+ | Disables PayPal additional payment module (PayPal NVP, Payflow and Express) | ||||
paymentSwissbilling | paymentSwissbillingOff | payment modules | 3.7.0+ | Enables Swissbilling additional payment module | ||||
paymentSwissbillingOff | paymentSwissbilling | payment modules | 3.7.0+ | Disables Swissbilling additional payment module |
...