crafter-studio
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.craftercms</groupId> <artifactId>crafter-studio</artifactId> <version>4.3.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- * Copyright (C) 2007-2025 Crafter Software Corporation. All Rights Reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>crafter-studio</artifactId> <name>Crafter Studio</name> <description>Crafter Content Authoring Application</description> <url>https://github.com/craftercms/studio</url> <scm> <connection>scm:git:git://github.com/craftercms/studio</connection> <developerConnection>scm:git:git://github.com/craftercms/studio</developerConnection> <url>scm:git:git://github.com/craftercms/studio</url> </scm> <packaging>war</packaging> <parent> <groupId>org.craftercms</groupId> <artifactId>craftercms</artifactId> <version>4.3.0</version><!-- craftercms version flag --> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <studio.ui.path>../studio-ui/</studio.ui.path> </properties> <dependencies> <!-- Servlet --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <scope>provided</scope> </dependency> <!-- Crafter Engine --> <dependency> <groupId>org.craftercms</groupId> <artifactId>crafter-engine</artifactId> <version>${project.version}</version> <type>war</type> </dependency> <dependency> <groupId>org.craftercms</groupId> <artifactId>crafter-engine</artifactId> <classifier>classes</classifier> <scope>provided</scope> <version>${project.version}</version> </dependency> <dependency> <groupId>org.craftercms</groupId> <artifactId>crafter-commons-git</artifactId> </dependency> <dependency> <groupId>org.craftercms</groupId> <artifactId>crafter-commons-security</artifactId> </dependency> <dependency> <groupId>org.craftercms</groupId> <artifactId>crafter-commons-plugin</artifactId> </dependency> <dependency> <groupId>org.craftercms</groupId> <artifactId>crafter-commons-upgrade-manager</artifactId> </dependency> <dependency> <groupId>org.craftercms</groupId> <artifactId>crafter-commons-utilities</artifactId> </dependency> <!-- Database DALs --> <dependency> <groupId>org.apache.ibatis</groupId> <artifactId>ibatis-sqlmap</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-websocket</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-messaging</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-messaging</artifactId> </dependency> <!-- Commons --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-fileupload2-jakarta-servlet6</artifactId> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> <!-- Other --> <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> </dependency> <dependency> <groupId>jakarta.validation</groupId> <artifactId>jakarta.validation-api</artifactId> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> </dependency> <!-- JGit --> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> </dependency> <!-- testing --> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.junit</artifactId> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.support</groupId> <artifactId>testng-engine</artifactId> <scope>test</scope> </dependency> <!-- Tomcat EL --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper-el</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-core</artifactId> <scope>test</scope> </dependency> <!-- Required by spring-websocket --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-websocket</artifactId> <scope>test</scope> </dependency> <!-- MariaDB --> <dependency> <groupId>org.craftercms.mariaDB4j</groupId> <artifactId>mariaDB4j</artifactId> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> </dependency> <!-- LDAP --> <dependency> <groupId>org.springframework.ldap</groupId> <artifactId>spring-ldap-core</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-ldap</artifactId> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-commons</artifactId> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-ws-policy</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <!-- AWS SDK --> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>sts</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>elastictranscoder</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>mediaconvert</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>sso</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>ssooidc</artifactId> </dependency> <!-- WebDAV Client --> <dependency> <groupId>com.github.lookfirst</groupId> <artifactId>sardine</artifactId> </dependency> <!-- Saxon (to support XSLT 2.0) --> <dependency> <groupId>net.sf.saxon</groupId> <artifactId>Saxon-HE</artifactId> </dependency> <!-- Tinify --> <dependency> <groupId>com.tinify</groupId> <artifactId>tinify</artifactId> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> <dependency> <groupId>org.bitbucket.b_c</groupId> <artifactId>jose4j</artifactId> </dependency> <dependency> <groupId>com.nulab-inc</groupId> <artifactId>zxcvbn</artifactId> </dependency> </dependencies> <build> <finalName>studio</finalName> <!-- Overrides are listed here --> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <executions> <execution> <id>Java Code</id> <phase>process-resources</phase> <goals> <goal>create</goal> <goal>create-timestamp</goal> </goals> <configuration> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <revisionOnScmFailure>unknown</revisionOnScmFailure> </configuration> </execution> <execution> <phase>process-resources</phase> <id>UI-Version</id> <goals> <goal>create</goal> <goal>create-timestamp</goal> </goals> <configuration> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <revisionOnScmFailure>unknown</revisionOnScmFailure> <buildNumberPropertyName>UIbuildNumber</buildNumberPropertyName> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <attachClasses>true</attachClasses> <warSourceExcludes>**/crafterTemplateRepository/</warSourceExcludes> <workDirectory>target/overlay-war-folder</workDirectory> <archive> <manifest> <addDefaultImplementationEntries>true </addDefaultImplementationEntries> </manifest> <manifestEntries> <Implementation-Build>${buildNumber}</Implementation-Build> <Build-On>${timestamp}</Build-On> </manifestEntries> </archive> <overlays> <overlay> <groupId>org.craftercms</groupId> <artifactId>crafter-engine</artifactId> <excludes> <!--<!– when udpdating ROOT base check here to see if these need to be updated –>--> <exclude>/WEB-INF/lib/xml-apis-1.0.b2.jar</exclude> <exclude>/WEB-INF/lib/httpclient-4.5.2.jar</exclude> <exclude>/WEB-INF/lib/httpcore-4.4.4.jar</exclude> <exclude>/WEB-INF/lib/commons-logging-1.2.jar</exclude> <exclude>/WEB-INF/lib/slf4j-api-*.jar</exclude> <exclude>/WEB-INF/lib/slf4j-log4j12-*.jar</exclude> <exclude>/WEB-INF/lib/jcl-over-slf4j-*.jar</exclude> <exclude> /WEB-INF/lib/spring-security-core-4.2.7.RELEASE.jar </exclude> <exclude> /WEB-INF/templates/system/common/versionInfo.ftl </exclude> <exclude> /WEB-INF/classes/crafter/engine/services/security-context.xml </exclude> </excludes> </overlay> </overlays> <webResources> <!-- static-assets --> <resource> <directory>${studio.ui.path}static-assets</directory> <filtering>false</filtering> <targetPath>default-site/static-assets</targetPath> </resource> <!-- templates --> <resource> <directory>${studio.ui.path}templates</directory> <filtering>false</filtering> <targetPath>default-site/templates</targetPath> </resource> <!-- site --> <resource> <directory>${studio.ui.path}site</directory> <filtering>false</filtering> <targetPath>default-site/site</targetPath> </resource> <resource> <directory>src/main/generated-resources/ftl</directory> <filtering>true</filtering> <targetPath>WEB-INF/templates/system/common</targetPath> </resource> <resource> <directory>src/main/generated-resources/rest</directory> <filtering>true</filtering> <targetPath>default-site/scripts/rest</targetPath> </resource> <!-- empty blueprint --> <resource> <directory> src/main/webapp/repo-bootstrap/global/blueprints/4000_empty/static-assets/images/screenshots </directory> <filtering>false</filtering> <targetPath>default-site/static-assets/images/blueprints/empty </targetPath> </resource> <!-- headless blog blueprint --> <resource> <directory> src/main/webapp/repo-bootstrap/global/blueprints/5000_headless_blog/static-assets/images/screenshots </directory> <filtering>false</filtering> <targetPath> default-site/static-assets/images/blueprints/headless_blog </targetPath> </resource> <!-- headless store blueprint --> <resource> <directory> src/main/webapp/repo-bootstrap/global/blueprints/2000_headless_store/static-assets/images/screenshots </directory> <filtering>false</filtering> <targetPath> default-site/static-assets/images/blueprints/headless_store </targetPath> </resource> <!-- editorial blueprint --> <resource> <directory> src/main/webapp/repo-bootstrap/global/blueprints/1000_website_editorial/static-assets/images/screenshots </directory> <filtering>false</filtering> <targetPath> default-site/static-assets/images/blueprints/website_editorial </targetPath> </resource> </webResources> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <forkedProcessExitTimeoutInSeconds>50</forkedProcessExitTimeoutInSeconds> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>cloneUi</id> <activation> <property> <name>cloneUi</name> <value>true</value> </property> </activation> <properties> <studio.ui.path>target/ui/</studio.ui.path> <studio.ui.version>v4.3.0</studio.ui.version><!-- craftercms ui version flag --> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <inherited>false</inherited> <!-- only execute these in the parent --> <executions> <execution> <id>git get ui</id> <phase>prepare-package</phase> <configuration> <executable>git</executable> <arguments> <argument>clone</argument> <argument>--depth</argument> <argument>1</argument> <argument>-b</argument> <argument>${studio.ui.version} </argument> <argument> https://github.com/craftercms/studio-ui.git </argument> <argument>${studio.ui.path}</argument> </arguments> </configuration> <goals> <goal>exec</goal> </goals> </execution> <execution> <id>build ui</id> <phase>prepare-package</phase> <configuration> <executable>mvn</executable> <arguments> <argument>package</argument> </arguments> <workingDirectory>${studio.ui.path}/ </workingDirectory> </configuration> <goals> <goal>exec</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <repositories> <repository> <id>sonatype-snapshots</id> <name>Sonatype Snapshot Repository</name> <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> </repository> </repositories> <distributionManagement> <snapshotRepository> <id>sonatype-snapshots</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> <repository> <id>sonatype-staging</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> </project>