Announcements
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.jasig.portlet</groupId>
<artifactId>Announcements</artifactId>
<version>2.5.2</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to Apereo under one or more contributor license
agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership.
Apereo licenses this file to you 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 the following location:
http://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.
-->
<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">
<parent>
<groupId>org.jasig.portlet</groupId>
<artifactId>uportal-portlet-parent</artifactId>
<version>51</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jasig.portlet</groupId>
<artifactId>Announcements</artifactId>
<packaging>war</packaging>
<name>Announcements Portlet</name>
<version>2.5.2</version>
<properties>
<hibernate.version>5.6.15.Final</hibernate.version>
<hsqldb.version>2.7.0</hsqldb.version>
<persistence-api.version>2.2</persistence-api.version>
<spring.version>4.3.30.RELEASE</spring.version>
<!-- The JDBC Driver used by the portlet -->
<jdbc.groupId>org.hsqldb</jdbc.groupId>
<jdbc.artifactId>hsqldb</jdbc.artifactId>
<jdbc.version>2.7.4</jdbc.version>
</properties>
<url>http://www.ja-sig.org/wiki/display/PLT/Announcements+Portlet</url>
<description>A set of portlets that facilitate the authoring, editing, publishing, and
displaying of portal announcements.</description>
<organization>
<name>Jasig, Inc.</name>
<url>http://www.jasig.org/</url>
</organization>
<developers>
<developer>
<id>eolsson</id>
<name>Erik A. Olsson</name>
<email>erik.olsson@uci.edu</email>
<timezone>-8</timezone>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/Jasig/AnnouncementsPortlet.git</connection>
<developerConnection>scm:git:git@github.com:Jasig/AnnouncementsPortlet.git</developerConnection>
<url>https://github.com/Jasig/AnnouncementsPortlet</url>
<tag>Announcements-2.5.2</tag>
</scm>
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.9</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>${persistence-api.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
</dependency>
<dependency>
<groupId>org.jasig.portlet.notification</groupId>
<artifactId>notification-portlet-api</artifactId>
<version>4.8.2</version>
</dependency>
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-spring31</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc-portlet</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-tools</artifactId>
<version>${hibernate.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency><!-- java bytecode processor required by hibernate-->
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.1.GA</version>
</dependency>
<dependency>
<groupId>backport-util-concurrent</groupId>
<artifactId>backport-util-concurrent</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>${jdbc.groupId}</groupId>
<artifactId>${jdbc.artifactId}</artifactId>
<version>${jdbc.version}</version>
</dependency>
<!-- Switch to MySQL by removing the dependency above and uncommenting the one below.
| Other changes also required to the datasource.properties file. See the wiki.
-->
<!--
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.12</version>
<type>jar</type>
</dependency>
-->
<!-- Utility libraries -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.22.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.0</version>
<type>jar</type>
</dependency>
<!-- ===== Runtime Dependencies ================================== -->
<!-- Provides the PortalPropertySourcesPlaceholderConfigurer
that supports global.properties and Jasypt encryption-->
<dependency>
<groupId>org.jasig.portal</groupId>
<artifactId>uPortal-spring</artifactId>
<version>5.17.3</version>
<type>jar</type>
<exclusions>
<exclusion>
<groupId>org.jasig.portal</groupId>
<artifactId>uPortal-api-internal</artifactId>
</exclusion>
<exclusion>
<groupId>org.jasig.portal</groupId>
<artifactId>uPortal-security-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.jasig.portal</groupId>
<artifactId>uPortal-security-mvc</artifactId>
</exclusion>
<exclusion>
<groupId>org.jasig.portal</groupId>
<artifactId>uPortal-tools</artifactId>
</exclusion>
<exclusion>
<groupId>net.oauth.core</groupId>
<artifactId>oauth</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</exclusion>
<exclusion>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.jadira.usertype</groupId>
<artifactId>usertype.core</artifactId>
</exclusion>
<exclusion>
<groupId>org.jadira.usertype</groupId>
<artifactId>usertype.spi</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- ======= Provided ============== -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- ===== Test Dependencies ====================================== -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<type>pom</type>
<version>${spring.version}</version>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Ingalls-SR23</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!-- uportal-portlet-parent:48 pins spring-data-jpa to 2.7.18, which requires
Spring Framework 5.3.x. This portlet still runs on Spring 4.3.x, so override
spring-data-jpa to the version declared by the Ingalls-SR23 release train
BOM imported above. Ingalls is the last spring-data release train that
supports Spring 4.3, and SR23 is its last patch (includes the security
fix called out by CVE-2024-22259 / GHSA-871m-92cj-85g6). -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.11.23.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration>
<!--
| Parent v49 provides version, header URL, basedir,
| aggregate, strictCheck, and the standard excludes/
| mappings (.gitignore, .idea/**, overlays/**, LICENSE,
| NOTICE, **/src/main/webapp/rs/**, target/**,
| release.properties, plus tld/tag/xjb/etc mappings).
| Local block keeps only the AnnouncementsPortlet-
| specific webapp asset excludes; <less> mapping drops
| so we inherit parent's SLASHSTAR_STYLE.
+-->
<excludes>
<exclude>**/src/main/webapp/js/**</exclude>
<exclude>**/src/main/webapp/date-picker/**</exclude>
<exclude>**/src/main/webapp/tinymce/**</exclude>
<exclude>**/src/main/webapp/fonts/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>Announcements</warName>
<webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.5</version>
<configuration>
<workingDirectory>src/main/webapp</workingDirectory>
</configuration>
</plugin>
<!-- Plug-in to add lifecycles to support db-init, data-import, and data-export -->
<plugin>
<groupId>org.jasig.portal.maven</groupId>
<artifactId>uportal-maven-plugin</artifactId>
<version>1.0.1</version>
<!-- extensions must be set to true to pick up the custom phases -->
<extensions>true</extensions>
</plugin>
<!--
| To drop and recreate the Announcements database tables, use: mvn db-init
| To import the announcement db tables, use: mvn [-Ddir=dir] data-import
+-->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>schema-create</id>
<phase>db-init</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<property name="runtime_classpath" refid="maven.runtime.classpath" />
<property name="plugin_classpath" refid="maven.plugin.classpath" />
<java failonerror="true" classname="org.jasig.portlet.announcements.SchemaCreator">
<classpath>
<pathelement location="${project.build.directory}/${project.artifactId}/WEB-INF/context" />
<pathelement path="${runtime_classpath}" />
<pathelement path="${plugin_classpath}" />
</classpath>
</java>
</tasks>
</configuration>
</execution>
<execution>
<id>data-import</id>
<phase>data-import</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<!-- Set default value of data location if it is not set -->
<property name="dir" value="${basedir}/src/main/data" />
<property name="runtime_classpath" refid="maven.runtime.classpath" />
<property name="plugin_classpath" refid="maven.plugin.classpath" />
<!-- Provided jars aren't added to the runtime
classpath, so we manually add in servlet.jar here -->
<property name="servlet.jar" value="${maven.dependency.javax.servlet.servlet-api.jar.path}" />
<property name="portlet.jar" value="${maven.dependency.javax.portlet.portlet-api.jar.path}" />
<java failonerror="true" classname="org.jasig.portlet.announcements.Importer">
<sysproperty key="log4j.configuration" value="command-line.log4j.properties" />
<classpath>
<pathelement location="${project.build.directory}/${project.artifactId}/WEB-INF/context" />
<pathelement path="${runtime_classpath}" />
<pathelement path="${plugin_classpath}" />
<pathelement location="${servlet.jar}" />
<pathelement location="${portlet.jar}" />
</classpath>
<arg value="${dir}" />
</java>
</tasks>
</configuration>
</execution>
<!-- Export not yet tested ... -->
<execution>
<id>data-export</id>
<phase>data-export</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<fail unless="dir">
You must set the "dir" parameter. (-Ddir={something})
</fail>
<property name="runtime_classpath" refid="maven.runtime.classpath" />
<property name="plugin_classpath" refid="maven.plugin.classpath" />
<!-- Provided jars don't seem to be added to the runtime
classpath, so we manually add in servlet.jar here -->
<property name="servlet.jar" value="${maven.dependency.javax.servlet.servlet-api.jar.path}" />
<property name="portlet.jar" value="${maven.dependency.javax.portlet.portlet-api.jar.path}" />
<java failonerror="true" fork="true" classname="org.jasig.portlet.announcements.Exporter">
<sysproperty key="log4j.configuration" value="command-line.log4j.properties" />
<classpath>
<pathelement location="${project.build.directory}/${project.artifactId}/WEB-INF/context" />
<pathelement path="${runtime_classpath}" />
<pathelement path="${plugin_classpath}" />
<pathelement location="${servlet.jar}" />
<pathelement location="${portlet.jar}" />
</classpath>
<arg value="${dir}" />
</java>
</tasks>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>rhino</groupId>
<artifactId>js</artifactId>
<version>1.7R2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>4.1.0</version>
<executions>
<execution>
<id>schemagen</id>
<goals>
<goal>schemagen</goal>
</goals>
</execution>
</executions>
<configuration>
<transformSchemas>
<!--
Each schema element defines:
a) A <<namespace uri>> for one of your namespaces.
This namespace uri must be unique within the schemas element.
b) A <<toPrefix>> that you want to use for the namespace.
Should not contain whitespace or exotic characters.
This yields a namespace definition on the form
<xs:schema ... xmlns:[toPrefix]="[uri]" ... />
(I.e: <xs:schema ... xmlns:some="http://some/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema"> )
... and transforms relevant xml schema elements to use the provided namespace prefix:
<some:elementName ... />
c) The desired <<toFile>> name of the generated XML schema definition file,
excluding the ".xsd" suffix (which will be added automatically).
-->
<transformSchema>
<uri>http://www.uPortal.org/schema/announcement/topic</uri>
<toPrefix>topic</toPrefix>
<toFile>topic.xsd</toFile>
</transformSchema>
<transformSchema>
<uri>http://www.uPortal.org/schema/announcement/topicSubscription</uri>
<toPrefix>subscription</toPrefix>
<toFile>topicSubscription.xsd</toFile>
</transformSchema>
<transformSchema>
<uri>http://www.uPortal.org/schema/announcement/announcement</uri>
<toPrefix>announcement</toPrefix>
<toFile>announcement.xsd</toFile>
</transformSchema>
</transformSchemas>
<schemaSourceExcludeFilters>
<limitIncludes implementation="org.codehaus.mojo.jaxb2.shared.filters.pattern.PatternFileFilter">
<patterns>
<pattern>\/mvc\/.*\.java</pattern>
<pattern>\\mvc\\.*\.java</pattern>
<pattern>\/service\/.*\.java</pattern>
<pattern>\\service\\.*\.java</pattern>
<pattern>\/spring\/.*\.java</pattern>
<pattern>\\spring\\.*\.java</pattern>
<pattern>Exporter\.java</pattern>
<pattern>Importer\.java</pattern>
<pattern>UnauthorizedException\.java</pattern>
<pattern>SchemaCreator\.java</pattern>
<pattern>ApplicationContextConnectionProvider\.java</pattern>
<pattern>AnnouncementValidator\.java</pattern>
<pattern>TopicValidator\.java</pattern>
</patterns>
</limitIncludes>
</schemaSourceExcludeFilters>
<outputDirectory>target/generated-schemas</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.7.0.1.1</version>
<configuration>
<sourceDirectory>${project.basedir}/src/main/webapp/less</sourceDirectory>
<outputDirectory>${project.build.directory}/${project.build.finalName}/css</outputDirectory>
<compress>true</compress>
<includes>
<include>announcements.less</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>11</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
<execution>
<id>enforce-banned-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>log4j:*</exclude>
<exclude>commons-logging:*</exclude>
</excludes>
</bannedDependencies>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<configLocation>google_checks.xml</configLocation>
</configuration>
</plugin>
</plugins>
</reporting>
</project>