diff --git a/.blade.properties b/.blade.properties new file mode 100644 index 0000000..874db39 --- /dev/null +++ b/.blade.properties @@ -0,0 +1,2 @@ +#Tue Mar 26 16:23:58 GMT 2024 +profile.name=gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..461a312 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +**/*.iml +**/.ivy +**/.classpath +**/.project +**/.sass-cache +**/.settings +**/bin +**/build +**/build_gradle +**/dist +**/node_modules +**/node_modules_cache +**/test-coverage +**/tmp +**/.web_bundle_build +.gradle +.idea +/bundles +/gradle-*.properties +/plugins-sdk/**/classes +/plugins-sdk/**/ivy.xml.MD5 +/plugins-sdk/**/liferay-hook.xml.processed +/plugins-sdk/build.*.properties +/plugins-sdk/dependencies/**/*.jar +/plugins-sdk/dist +/plugins-sdk/lib +test-results \ No newline at end of file diff --git a/Dockerfile.ext b/Dockerfile.ext new file mode 100644 index 0000000..6fafa2e --- /dev/null +++ b/Dockerfile.ext @@ -0,0 +1 @@ +# Any instructions here will be appended to the end of the Dockerfile created by `createDockerfile`. \ No newline at end of file diff --git a/GETTING_STARTED.markdown b/GETTING_STARTED.markdown new file mode 100644 index 0000000..41b9148 --- /dev/null +++ b/GETTING_STARTED.markdown @@ -0,0 +1,236 @@ +# Getting Started with Liferay Workspace + +Complete documentation for Liferay Workspace can be found +[here](https://learn.liferay.com/dxp/7.x/en/developing-applications/tooling/liferay-workspace.html). + +## Folder Structure +``` +my-project +├── configs +│ ├── common +│ ├── dev +│ ├── docker +│ ├── local +│ ├── prod +│ └── uat +├── modules +│ ├── apis +│ ├── services +│ ├── java widgets +│ ├── js widgets +│ ├── java ee widgets (spring mvc, jsf, etc) +│ └── java themes +└── themes + └── js themes +``` + +## Running Liferay DXP locally +``` +my-project $ blade gw initBundle +my-project $ blade gw deploy +my-project $ blade server run +``` +## Running Liferay DXP in Docker +``` +my-project $ blade gw createDockerContainer +my-project $ blade gw startDockerContainer +``` + +## Creating a Liferay DXP distribution + +### Creating a tar +``` +my-project $ blade gw distBundleTar +``` + +### Creating a zip +``` +my-project $ blade gw distBundleZip +``` + +### Creating multiple bundles +``` +my-project $ blade gw distBundleTarAll +my-project $ blade gw distBundleZipAll +``` + +### Creating a docker image +``` +my-project $ blade gw buildDockerImage +``` + +## Create a Liferay DXP module + +### Creating a new service +``` +my-project $ blade create -t service-builder my-service +``` + +### Creating a javascript theme +``` +my-project $ blade create -t js-theme my-theme +``` + +### Creating a Java Widget +``` +my-project $ blade create -t mvc-portlet "my-java-widget" +``` + +### Create a JS Widget +``` +my-project $ blade create -t js-widget "my-js-widget" +``` + +## Gradle Properties + +Set the following in `gradle.properties` to change the default settings. + +#### liferay.workspace.product +Set the `liferay.workspace.product` to set the `app.server.tomcat.version`, +`liferay.workspace.bundle.url`, `liferay.workspace.docker.image.liferay`, and +`liferay.workspace.target.platform.version` that matches your Liferay Product +Version. To override each of these settings, set them individually. + +#### app.server.tomcat.version +Set this property to override the default setting provided by +`liferay.workspace.product`. Set the `app.server.tomcat.version` to match what +is contained inside the Liferay bundle. Both the TestIntegrationPlugin and +LiferayExtPlugin rely on this version to match the bundled Tomcat version. If +your configured bundle url points to a bundle with a different Tomcat version, +set the property below to match that Tomcat version. If you did not set +`liferay.workspace.product`, the default value is `9.0.40`. + +#### liferay.workspace.bundle.url +Set this property to override the default setting provided by +`liferay.workspace.product`. Set the URL pointing to the bundle Zip to +download. If you did not set `liferay.workspace.product`, the default value is +`https://releases-cdn.liferay.com/portal/7.3.6-ga7/liferay-ce-portal-tomcat-7.3.6-ga7-20210301155526191.tar.gz`. + +#### liferay.workspace.docker.image.liferay +Set this property to override the default setting provided by +`liferay.workspace.product`. Set the Liferay Portal Docker image to create +your container from. If you did not set `liferay.workspace.product`, the +default value is `liferay/portal:7.4.0-ga1`. + +#### liferay.workspace.target.platform.version +Set this property to override the default setting provided by +`liferay.workspace.product`. Set the Liferay Portal or DXP version to +develop and test against. By setting this property, it enables the target +platform features such as dependency management and OSGi resolve tasks. Use the +version that matches the Liferay Portal or DXP bundle version in this workspace. +See GETTING_STARTED#Overwrite-specific-dependency-in-one-project for overrides. + +For a list of all available target platform versions, see +https://bit.ly/2IkAwwW for Liferay Portal and https://bit.ly/2GIyfZF for +Liferay DXP. If you did not set `liferay.workspace.product`, the default value +is `7.4.0`. + +#### liferay.workspace.bundle.cache.dir +Set the directory where the downloaded bundle Zip files are stored. The default +value is the `.liferay/bundles` folder inside the user home directory. The +default value is `~/.liferay/bundles`. + +#### liferay.workspace.default.repository.enabled +Set this to true to configure Liferay CDN as the default repository in the root +project. The default value is `true`. + +#### liferay.workspace.environment +Set the environment with the settings appropriate for current development. The +`configs` folder is used to hold different environments in the same workspace. +You can organize environment settings and generate an environment installation +with those settings. There are five environments: common, dev, docker, local, +prod, and uat. The default value is `local`. + +#### liferay.workspace.bundle.dist.include.metadata +Set this to true to append metadata for the current environment settings and +timestamp. The default value is `false`. + +#### liferay.workspace.docker.local.registry.address +Set this to the host and port of the local Docker registry. This will enable the user to interact with a Docker registry other than DockerHub (e.g. myregistryaddress.org:5000). + +#### liferay.workspace.docker.pull.policy +Set this to false to pull the user's local Docker cache first. The default value is true. + +#### liferay.workspace.docker.username +Set this property to the registered user name on DockerHub to avoid conflicts with DockerHub. + +#### liferay.workspace.docker.user.access.token +See https://docs.docker.com/docker-hub/access-tokens on how to generate a Docker access token. + +#### liferay.workspace.ext.dir +Set the folder that contains all Ext OSGi modules and Ext plugins. The default +value is `ext`. + +#### liferay.workspace.home.dir +Set the folder that contains the Liferay bundle downloaded from the +`liferay.workspace.bundle.url` property. The default value is `bundles`. + +#### liferay.workspace.modules.default.repository.enabled +Set this to true to configure Liferay CDN as the default repository for +module/OSGi projects. The default value is `true`. + +#### liferay.workspace.modules.dir +Set the folder that contains all module projects. Set to `*` to search all +subdirectories. The default value is `modules`. + +#### liferay.workspace.modules.jsp.precompile.enabled +Set this to true to compile the JSP files in OSGi modules and have them added +to the distributable Zip/Tar. The default value is `false`. + +#### liferay.workspace.node.package.manager +Set this property to `npm` to build Node.js-style projects using NPM. The +default value is `yarn`. + +#### liferay.workspace.plugins.sdk.dir +Set the folder that contains the Plugins SDK environment. The default value is +`plugins-sdk`. + +#### liferay.workspace.themes.dir +Set the folder that contains Node.js-style theme projects. The default value is +`themes`. + +#### liferay.workspace.themes.java.build +Set this to true to build the theme projects using the Liferay Portal Tools +Theme Builder. The default value is `false`. + +#### liferay.workspace.wars.dir +Set the folder that contains all legacy WAR projects. Set to `*` to search all +subdirectories. The default value is `modules`. + +#### microsoft.translator.subscription.key +Set the subscription key for Microsoft Translation integration. This is service +is used to provide automatic translations for `buildLang`. + +#### target.platform.index.sources +Set this to true if you have enabled the Target Platform plugin (i.e. you have +set the above property) and you want to apply the TargetPlatformIDE plugin to +the root workspace project. This will cause all of the BOM artifacts jars and +their Java sources to be indexed by your IDE. Setting this property to true can +slow down your IDE's project synchronization. + +## Build Customizations via `build.gradle` + +### Overwrite specific dependency in one project +Set `force = true` to overwrite the version of a specific dependency. See +`https://docs.gradle.org/current/userguide/dependency_downgrade_and_exclude.html#forced_dependencies_vs_strict_dependencies`. + +### Overwrite dependency in multiple projects +Set the following to overwrite the version of a dependency for the project. +``` +subprojects { + configurations.all { + resolutionStrategy.force 'groupId:artifactId:version` + } +} +``` + +## platform.bndrun + +This file allows each module to be resolved against the target version of +Liferay. Invoke the operation using the following command: +`./gradlew resolve` + +SUCCESS: The successful result is a list of all the artifacts needed to run +without any resolution errors. +FAILURE: A failure will indicate missing a requirement. Correct the missing +requirement and rerun the task. \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..3232f49 --- /dev/null +++ b/build.gradle @@ -0,0 +1 @@ +// Check GETTING_STARTED.markdown for information regarding usage. \ No newline at end of file diff --git a/configs/common/.touch b/configs/common/.touch new file mode 100644 index 0000000..e69de29 diff --git a/configs/common/portal-setup-wizard.properties b/configs/common/portal-setup-wizard.properties new file mode 100644 index 0000000..0c53051 --- /dev/null +++ b/configs/common/portal-setup-wizard.properties @@ -0,0 +1 @@ +setup.wizard.enabled=false \ No newline at end of file diff --git a/configs/dev/portal-ext.properties b/configs/dev/portal-ext.properties new file mode 100644 index 0000000..4804036 --- /dev/null +++ b/configs/dev/portal-ext.properties @@ -0,0 +1,9 @@ +include-and-override=portal-developer.properties + +# +# MySQL +# +#jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver +#jdbc.default.url=jdbc:mysql://dev.server/lportaldev?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false +#jdbc.default.username=root +#jdbc.default.password= \ No newline at end of file diff --git a/configs/docker/.touch b/configs/docker/.touch new file mode 100644 index 0000000..e69de29 diff --git a/configs/docker/portal-ext.properties b/configs/docker/portal-ext.properties new file mode 100644 index 0000000..e69de29 diff --git a/configs/local/portal-ext.properties b/configs/local/portal-ext.properties new file mode 100644 index 0000000..90b02aa --- /dev/null +++ b/configs/local/portal-ext.properties @@ -0,0 +1,7 @@ +# +# MySQL +# +#jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver +#jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false +#jdbc.default.username=root +#jdbc.default.password= \ No newline at end of file diff --git a/configs/prod/osgi/configs/com.liferay.portal.search.elasticsearch.configuration.ElasticsearchConfiguration.config b/configs/prod/osgi/configs/com.liferay.portal.search.elasticsearch.configuration.ElasticsearchConfiguration.config new file mode 100644 index 0000000..89cb477 --- /dev/null +++ b/configs/prod/osgi/configs/com.liferay.portal.search.elasticsearch.configuration.ElasticsearchConfiguration.config @@ -0,0 +1,2 @@ +operationMode="REMOTE" +transportAddresses=["127.0.0.1:9300"] \ No newline at end of file diff --git a/configs/prod/portal-ext.properties b/configs/prod/portal-ext.properties new file mode 100644 index 0000000..6e113d8 --- /dev/null +++ b/configs/prod/portal-ext.properties @@ -0,0 +1,7 @@ +# +# MySQL +# +#jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver +#jdbc.default.url=jdbc:mysql://prod.server/lportalprod?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false +#jdbc.default.username=root +#jdbc.default.password= \ No newline at end of file diff --git a/configs/uat/osgi/configs/com.liferay.portal.search.elasticsearch.configuration.ElasticsearchConfiguration.config b/configs/uat/osgi/configs/com.liferay.portal.search.elasticsearch.configuration.ElasticsearchConfiguration.config new file mode 100644 index 0000000..05c89b9 --- /dev/null +++ b/configs/uat/osgi/configs/com.liferay.portal.search.elasticsearch.configuration.ElasticsearchConfiguration.config @@ -0,0 +1,3 @@ +logExceptionsOnly=B"false" +operationMode="REMOTE" +transportAddresses=["127.0.0.1:9300"] \ No newline at end of file diff --git a/configs/uat/portal-ext.properties b/configs/uat/portal-ext.properties new file mode 100644 index 0000000..41ea46e --- /dev/null +++ b/configs/uat/portal-ext.properties @@ -0,0 +1,7 @@ +# +# MySQL +# +#jdbc.default.driverClassName=com.mysql.cj.jdbc.Driver +#jdbc.default.url=jdbc:mysql://uat.server/lportaluat?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false +#jdbc.default.username=root +#jdbc.default.password= \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..e24ea05 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,12 @@ +## +## Check GETTING_STARTED.markdown for additional properties and their default +## values. +## + +liferay.workspace.bundle.dist.include.metadata = true +liferay.workspace.modules.dir = modules +liferay.workspace.themes.dir = themes +liferay.workspace.wars.dir = modules +microsoft.translator.subscription.key = +liferay.workspace.product = dxp-7.4-u102 +target.platform.index.sources = false diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..e708b1c Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..9e9138d --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.2-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists \ No newline at end of file diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/platform.bndrun b/platform.bndrun new file mode 100644 index 0000000..2ba4438 --- /dev/null +++ b/platform.bndrun @@ -0,0 +1,29 @@ +## Check GETTING_STARTED.markdown#platform.bndrun for more information. + +-distro: ${targetPlatformDistro};x-whitelist=osgi.wiring.host +-resolve.effective: active +-runprovidedcapabilities:\ + osgi.service;objectClass:List='com.liferay.asset.kernel.service.persistence.AssetCategoryPersistence',\ + osgi.service;objectClass:List='com.liferay.frontend.js.loader.modules.extender.npm.NPMResolver',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.configuration.Configuration',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.dao.orm.SessionFactory',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.json.JSONFactory',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.language.Language',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.model.Portlet',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.module.framework.ModuleServiceLifecycle',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.portlet.PortletPreferencesFactory',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.portlet.PortletURLFactory',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.service.persistence.LayoutSetPersistence',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.util.File',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.util.Html',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.util.Http',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.util.MimeTypes',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.util.Portal',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.util.PrefsProps',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.util.Props',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.xml.SAXReader',\ + osgi.service;objectClass:List='com.liferay.portal.kernel.zip.ZipReaderFactory',\ + osgi.service;objectClass:List='javax.servlet.ServletContext',\ + osgi.service;objectClass:List='javax.sql.DataSource',\ + osgi.wiring.package;osgi.wiring.package=com.sun.nio.file +-runrequires: osgi.identity;filter:='(osgi.identity=${project.bundle.Bundle-SymbolicName})' \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..ac59ad5 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,23 @@ +buildscript { + dependencies { + classpath group: "biz.aQute.bnd", name: "biz.aQute.bnd", version: "5.2.0" + classpath(group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "4.0.30") { + exclude group: "biz.aQute.bnd", module: "biz.aQute.bnd" + } + classpath group: "net.saliman", name: "gradle-properties-plugin", version: "1.4.6" + } + + repositories { + maven { + url "https://repository-cdn.liferay.com/nexus/content/groups/public" + } + + maven { + url "https://repository.liferay.com/nexus/content/groups/public" + } + } +} + +apply plugin: "net.saliman.properties" + +apply plugin: "com.liferay.workspace" \ No newline at end of file