This website uses cookies to ensure you get the best experience. Learn More.
Liferay 7: problemas de dependecias al hacer el build inicial de un theme
Versiones en las que se se ha probado el contenido de este post:
En caso de no tener el workspace creado, procedemos a crear uno nuevo que en este caso he llamado "RIS-Web" (de tipo Gradle). He optado por descargar el bundle de Liferay en el propio workspace y Eclipse ha creado por el defecto el servidor de mismo nombre.
Vamos a fijarnos en el fichero que contiene la configuración de dependencias y repositorios del workspace: "settings.gradle":
Hay que editar este fichero para establecer el repositorio maven del que descargar las dependencias. La URL que trae por defecto no es pública, por lo que desde la versión 7.0 CE no tendremos acceso a ella y será imposible hacer el build de cualquier componente.
En rojo están los cambios realizados, comentando las líneas que trae el script e insertando las válidas:
buildscript { dependencies { classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "1.5.0" classpath group: "net.saliman", name: "gradle-properties-plugin", version: "1.4.6" } repositories { mavenLocal() maven { //url "https://cdn.lfrs.sl/repository.liferay.com/nexus/content/groups/public" url "https://repository.liferay.com/nexus/content/groups/public/" } } } apply plugin: "net.saliman.properties" apply plugin: "com.liferay.workspace"
En estos momentos ya estamos en disposición de crear el Theme desde la opción "File -> New -> Liferay Module Project".
En la ventana que aparece deberemos establecer el nombre del theme y el directorio del que colgará. Por defecto (desconozco el motivo), Liferay establece el directorio "modules" para crear el tema pero yo prefiero que esté localizado en el directorio "themes". A continuación hay que establecer "theme" en la opción "Project Template Name":
Al pulsar el botón "Finish" se procederá a crear la estructura del theme en nuestro workspace.
En la raíz del proyecto tendremos el fichero "build.gradle", que deberemos editar para establecer nuevamente el repositorio maven para decargar las preferencias.
En el siguiente código se muestran en rojo los cambios que he realizado, entre los que se incluye la actualización de las últimas versiones disponibles a fecha de hoy (24/08/2017):
buildscript { dependencies { classpath group: "com.liferay", name: "com.liferay.gradle.plugins.theme.builder", version: "2.0.3" } repositories { mavenLocal() maven { //url "https://cdn.lfrs.sl/repository.liferay.com/nexus/content/groups/public" url "https://repository.liferay.com/nexus/content/groups/public/" } } } apply plugin: "com.liferay.portal.tools.theme.builder" dependencies { parentThemes group: "com.liferay", name: "com.liferay.frontend.theme.styled", version: "2.0.28" parentThemes group: "com.liferay", name: "com.liferay.frontend.theme.unstyled", version: "2.1.16" portalCommonCSS group: "com.liferay", name: "com.liferay.frontend.css.common", version: "2.0.4" themeBuilder group: "com.liferay", name: "com.liferay.portal.tools.theme.builder", version: "1.1.4" }
Ahora que está creado el theme existe un problema con la versión actual del IDE, y es que no aparece automáticamente en Eclipse como un project Gradle, con lo que en la vista "Gradle Tasks" no estará visibles las tareas para hacer el build del proyecto.
Si os ocurre esto mismo, deberéis ir a "File -> Import..." y en la ventana seleccionar "Gradle -> Existing Gradle Project". Ya solo falta seleccionar la raíz de nuestro Theme:
Y tras pulsar "Finish" se desplegarán las tareas de Gradle en la vista "Gradle Tasks". Si no ocurriera de forma automática, suele ser buen intento cerrar el proyecto y después abrirlo de nuevo:
Ahora ya tenéis el proyecto listo para comenzar.