Skip to content

Commit

Permalink
upstream: b=main,r=4a1334f5c7ffe0f9ecd589a2e01c577edc219178,t=2023-08…
Browse files Browse the repository at this point in the history
…-18-1247-09694
  • Loading branch information
sonatype-zion committed Aug 18, 2023
1 parent 140ed32 commit 9f49575
Show file tree
Hide file tree
Showing 107 changed files with 1,674 additions and 469 deletions.
269 changes: 269 additions & 0 deletions assemblies/nexus-base-overlay/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,269 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Sonatype Nexus (TM) Open Source Version
Copyright (c) 2008-present Sonatype, Inc.
All rights reserved. Includes the third-party code listed at http://links.sonatype.com/products/nexus/oss/attributions.
This program and the accompanying materials are made available under the terms of the Eclipse Public License Version 1.0,
which accompanies this distribution and is available at http://www.eclipse.org/legal/epl-v10.html.
Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks
of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the
Eclipse Foundation. All other trademarks are the property of their respective owners.
-->
<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>

<parent>
<groupId>org.sonatype.nexus.assemblies</groupId>
<artifactId>nexus-assemblies</artifactId>
<version>3.60.0-SNAPSHOT</version>
</parent>

<artifactId>nexus-base-overlay</artifactId>
<name>${project.groupId}:${project.artifactId}</name>
<packaging>pom</packaging>

<dependencies>
<!--
Custom launcher for Nexus
-->
<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-main</artifactId>
<scope>provided</scope>
</dependency>

<!--
Our preferred OSGi runtime
-->
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<scope>provided</scope>
</dependency>

<!--
Framework/startup features (compile-scope)
-->
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
<type>kar</type>
</dependency>

<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>standard</artifactId>
<classifier>features</classifier>
<type>xml</type>
</dependency>

<dependency>
<groupId>org.sonatype.nexus.assemblies</groupId>
<artifactId>nexus-startup-feature</artifactId>
<classifier>features</classifier>
<type>xml</type>
</dependency>

<!--
Installed/boot features (runtime-scope)
-->
<dependency>
<groupId>org.sonatype.nexus.assemblies</groupId>
<artifactId>nexus-boot-feature</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.sonatype.nexus.assemblies</groupId>
<artifactId>nexus-base-feature</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-oss-edition</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.sonatype.nexus.assemblies</groupId>
<artifactId>nexus-core-feature</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-orient</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-datastore-mybatis</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>

<!--
Included to get access to nexus-orient-console. This provides a convenience
jar for starting up the orientdb console app.
-->
<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-orient-console</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus2-npm-metadata-export</artifactId>
<scope>provided</scope>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<executions>
<execution>
<id>pax-url-settings</id>
<phase>initialize</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<scripts>
<script>
// workaround https://issues.apache.org/jira/browse/KARAF-4288
def settingsFile = session.request.userSettingsFile
if (settingsFile?.isFile()) {
// pass custom settings file to pax-url as karaf-maven-plugin may need it to fetch content
System.setProperty('org.ops4j.pax.url.mvn.settings', session.request.userSettingsFile.path)
}
</script>
</scripts>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>overlay-assembly</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!-- install additional boot jars -->
<copy file="${org.sonatype.nexus:nexus-main:jar}"
tofile="${project.build.directory}/assembly/lib/boot/nexus-main.jar"/>
<copy file="${javax.activation:activation:jar}"
todir="${project.build.directory}/assembly/lib/boot"/>
<copy file="${jakarta.xml.bind:jakarta.xml.bind-api:jar}"
todir="${project.build.directory}/assembly/lib/boot"/>
<copy file="${org.glassfish.jaxb:jaxb-runtime:jar}"
todir="${project.build.directory}/assembly/lib/boot"/>
<copy file="${org.glassfish.jaxb:txw2:jar}"
todir="${project.build.directory}/assembly/lib/boot"/>
<copy file="${com.sun.istack:istack-commons-runtime:jar}"
todir="${project.build.directory}/assembly/lib/boot"/>

<!-- install additional framework jars -->
<copy file="${javax.annotation:javax.annotation-api:jar}"
todir="${project.build.directory}/assembly/lib"/>
<copy file="${com.google.code.findbugs:jsr305:jar}"
todir="${project.build.directory}/assembly/lib"/>
<copy file="${org.bouncycastle:bcprov-jdk15to18:jar}"
todir="${project.build.directory}/assembly/lib"/>
<copy file="${org.bouncycastle:bcpkix-jdk15to18:jar}"
todir="${project.build.directory}/assembly/lib"/>
<copy file="${org.bouncycastle:bcpg-jdk15to18:jar}"
todir="${project.build.directory}/assembly/lib"/>
<copy file="${org.bouncycastle:bcutil-jdk15to18:jar}"
todir="${project.build.directory}/assembly/lib"/>

<!-- put nexus-orient-console in lib/support along with its dependencies -->
<copy file="${org.sonatype.nexus:nexus-orient-console:jar}"
tofile="${project.build.directory}/assembly/lib/support/nexus-orient-console.jar"/>
<delete dir="${project.build.directory}/assembly/system/org/sonatype/nexus/nexus-orient-console"/>
<copy file="${org.sonatype.nexus:nexus2-npm-metadata-export:jar}"
tofile="${project.build.directory}/assembly/lib/support/nexus2-npm-metadata-export.jar"/>
<delete dir="${project.build.directory}/assembly/system/org/sonatype/nexus/nexus2-npm-metadata-export"/>

<!-- identify the specific pax-logging API bundle used by nexus-pax-logging backend -->
<loadresource property="pax-logging-api">
<string>${org.ops4j.pax.logging:pax-logging-api:jar}</string>
<filterchain>
<replacestring from="${file.separator}" to="/"/>
<replaceregex pattern=".*(pax-logging-api/[^/]*)/.*" replace="\1"/>
</filterchain>
</loadresource>

<!-- overlay customizations -->
<copy todir="${project.build.directory}/assembly" overwrite="true">
<fileset dir="${project.basedir}/src/main/resources/overlay"/>
</copy>

<!-- sonatype-work placeholders/templates -->
<copy todir="${project.build.directory}/sonatype-work" overwrite="true">
<fileset dir="${project.basedir}/src/main/resources/sonatype-work"/>
</copy>

<!-- workaround maven-assembly-plugin bug where lineEnding configuration for fileSets is ineffective -->
<fixcrlf srcdir="${project.build.directory}/assembly/bin" includes="*" excludes="*.bat" eol="unix"/>
<fixcrlf srcdir="${project.build.directory}/assembly/bin" includes="*.bat" eol="dos"/>

</target>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>archive-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${project.basedir}/src/main/assembly/bundle.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>
73 changes: 73 additions & 0 deletions assemblies/nexus-base-overlay/src/main/assembly/bundle.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Sonatype Nexus (TM) Open Source Version
Copyright (c) 2008-present Sonatype, Inc.
All rights reserved. Includes the third-party code listed at http://links.sonatype.com/products/nexus/oss/attributions.
This program and the accompanying materials are made available under the terms of the Eclipse Public License Version 1.0,
which accompanies this distribution and is available at http://www.eclipse.org/legal/epl-v10.html.
Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks
of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the
Eclipse Foundation. All other trademarks are the property of their respective owners.
-->
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

<id>bundle</id>

<formats>
<format>zip</format>
</formats>

<includeBaseDirectory>false</includeBaseDirectory>

<fileSets>
<fileSet>
<directory>${project.build.directory}/assembly</directory>
<outputDirectory>${project.build.finalName}</outputDirectory>
<fileMode>0644</fileMode>
<directoryMode>0755</directoryMode>
<excludes>
<exclude>bin/*</exclude>
<exclude>data/**</exclude>
</excludes>
</fileSet>

<fileSet>
<directory>${project.build.directory}/assembly</directory>
<outputDirectory>${project.build.finalName}</outputDirectory>
<fileMode>0644</fileMode>
<directoryMode>0755</directoryMode>
<lineEnding>dos</lineEnding>
<includes>
<include>bin/*.bat</include>
</includes>
</fileSet>

<fileSet>
<directory>${project.build.directory}/assembly</directory>
<outputDirectory>${project.build.finalName}</outputDirectory>
<fileMode>0755</fileMode>
<directoryMode>0755</directoryMode>
<lineEnding>unix</lineEnding>
<includes>
<include>bin/*</include>
</includes>
<excludes>
<exclude>bin/*.bat</exclude>
</excludes>
</fileSet>

<fileSet>
<directory>${project.build.directory}/sonatype-work</directory>
<outputDirectory>sonatype-work</outputDirectory>
<fileMode>0644</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
</fileSets>

</assembly>
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@
</encoder>
</appender>

<appender name="jvm" class="ch.qos.logback.core.FileAppender">
<File>${karaf.data}/log/jvm.log</File>
<append>true</append>
</appender>

<appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${karaf.data}/log/nexus.log</File>
<Append>true</Append>
Expand Down Expand Up @@ -147,6 +152,7 @@
<root level="${root.level:-INFO}">
<appender-ref ref="osgi"/>
<appender-ref ref="console"/>
<appender-ref ref="jvm"/>
<appender-ref ref="logfile"/>
<appender-ref ref="clusterlogfile"/>
<appender-ref ref="tasklogfile"/>
Expand Down
Loading

0 comments on commit 9f49575

Please sign in to comment.