A timetracker plugin for Liferay.
- Install blade:
curl https://raw.githubusercontent.com/liferay/liferay-blade-cli/master/installers/local | sh
- Create a liferay workspace:
WORKSPACE=my-workspace; blade init $WORKSPACE
- Checkout timetracker sources to the workspace's module directory:
cd $WORKSPACE/modules; git clone https://github.com/inofix/ch-inofix-timetracker.git
- Change working directory to ch-inofix-timetracker:
cd $WORKSPACE/modules/ch-inofix-timetracker
- Run ServiceBuilder:
./gradlew buildService
- Build:
./gradlew jar
- Download latest IDE from Sourceforge: https://sourceforge.net/projects/lportal/files/Liferay%20IDE/3.1.2%20GA3/liferay-ide-eclipse-linux-x64-3.1.2-ga3-201709011126.tar.gz/download
tar -xvzf liferay-ide-eclipse-linux-x64-3.1.2-ga3-201709011126.tar.gz
mv eclipse liferay-ide-3.1.2
- Start IDE with:
./liferay-ide-3.1.2/eclipse &
- Create Eclipse Workspace:
~/workspace
- Close welcome screen
- File -> New-> Project -> Liferay Workspace Project
- Project name:
my-liferay-project
, Use default location: yes (default), Build Type: Gradle (default) - Finish
- Update liferay.workspace.bundle.url in gradle.properties. Use: liferay.workspace.bundle.url=https://cdn.lfrs.sl/releases.liferay.com/portal/7.0.4-ga5/liferay-ce-portal-tomcat-7.0-ga5-20171018150113838.zip
- Switch to Gradle Tasks view
- Expand workspace node
- Expand bundle node
- run
initBundle
- Switch to Servers view
- New Server -> Liferay 7.x -> Next
- Name: Liferay 7.x
- Liferay Portal Bundle Directory: $WORKSPACE/bundles
- Select runtime JRE: java-8-openjdk-amd64
- Finish
- Doubleclick configured server (Liferay 7.x., see above), edit Launch settings:
- Liferay Launch: Custom Launche Settings: yes; Use developer mode: yes
- Save
- Start server
- Fork this repository to your individual github account.
- Clone your personal fork to your local liferay worspace:
cd $WORKSPACE/modules/
git clone https://github.com/<your-personal-github-account>/ch-inofix-timetracker
- Use feature branches to work on new features or known issues.
- Merge finished features into your individual master branch and
- create pull-requests, to contribute your solutions to the inofix master branch.
Stay up-to-date
- Change the current working directory to your local project.
- Configure https://github.com/inofix/ch-inofix-timetracker as additional upstream remote (see: https://help.github.com/articles/configuring-a-remote-for-a-fork/)
- Sync inofix-master with your individual fork (see: https://help.github.com/articles/syncing-a-fork/):
- Fetch upstream/master to your local copy:
git fetch upstream
- Check out your fork's local 'master' branch:
git checkout master
- Merge the changes from 'upstream/master' into your local master branch. This brings your fork's master branch into sync with the upstream repository, without losing your local changes:
git merge upstream/master
- Push merged master to your individual github account and
- create a pull-request, to contribute your solution to the inofix master branch.
Note for Eclipse / Liferay-IDE developers
If the JSPs of the timetracker-web project aren't validated properly,
- select the timetracker-web in the Project-Explorer view
- open the context menu with the right mouse key
- select "Configure" and
- choose "Add JSP Validation Support"
- select the timetracker-web in the Project-Explorer view
- choose CTRL + F5 to refresh your project
You may have to restart Eclipse, too in order to have your JSPs validated.
- Select ch-inofix-timetracker -> verification -> testIntegration task from Gradle Tasks
- Run
cd ch-inofix-timetracker
ln -s standalone-gradle.properties gradle.properties
ln -s standalone-settings.gradle settings.gradle
./gradlew clean initBundle buildService testIntegration
Latest Travis-test-results for ch-inofix-timetracker can be obtained from https://travis-ci.org/inofix/ch-inofix-timetracker/builds