Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [8, 11]
java: [8, 11, 17]
name: "Java ${{ matrix.java }} build"
steps:
- uses: actions/checkout@v2
Expand Down
125 changes: 8 additions & 117 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,126 +1,17 @@
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio

*.iml

## Directory-based project format:
# IDEA
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Clover plugin
.clover/
*.iml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
### NetBeans template
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml
.nb-gradle/
### Maven template
target/
pom.xml.tag
# Maven
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
### Java template
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/
target/

# Package Files #
*.jar
*.war
*.ear
# Test NG
test-output/

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
### Eclipse template
*.pydevproject
# Eclipse
.metadata
.gradle
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath

# Eclipse Core
.project

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# JDT-specific (Eclipse Java Development Tools)
.classpath

# Java annotation processor (APT)
.factorypath

# PDT-specific
.buildpath

# sbteclipse plugin
.target

# TeXlipse plugin
.texlipse

# Created by .ignore support plugin (hsz.mobi)

target.db
.project
3 changes: 0 additions & 3 deletions .wren-deploy.rc

This file was deleted.

31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 1.5.3.0

Summary (more details in sections bellow):

* Maven groupId refactored to `org.wrensecurity.wrenicf`.
* Updated artifactIds to keep project structure more concise (see bellow).
* Shared license bundle is now included as Maven submodule instead of being separate project.
* Custom JavadocUpdaterTool Maven plugin was removed as no longer necessary.
* Connector Framework is compatible with Java 8, 11 and 17.

Maven module folder names were updated to the following convention:

* `framework-*` - core connector framework modules
* `server-*` - connector server modules
* `test-*` - test support modules
* `bundle-*` - connector bundle modules

Maven groupId for individual modules was changed to the following:

* `org.wrensecurity.wrenicf` - group solely for root aggregator project and license bundle
* `org.wrensecurity.wrenicf.framework` - framework modules
* `org.wrensecurity.wrenicf.connector` - connector bundles

Major artifact identifier changes are:

* `connector-framework-parent` module was introduced to provide place for common configuration
without polluting the root aggregator project (`connector-bundle-parent` is no longer sharing
plugin configuration with the framework)
* `connector-framework` module was renamed to `connector-framework-core`
* `connector-test-common` module was renamed to `connector-framework-test`
* `connector-framework-server` module was renamed to `connector-server-core`
26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Wren:ICF Java Framework

Wren:ICF Java Framework provides set of components for building and running
_identity connectors_ written in Java.

TODO: component diagram


## What is identity connector?

TODO: Identity connectors are responsible


## What is a connector bundle?

TODO:


## Contributions

TODO:


## Acknowledgements

TODO:
63 changes: 63 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Wren Security Refactor

This document serves as as task list for (near) future.


## Removal of openicf-maven-plugin

This plugin is based around CPPL licensed content which means we can not modify it. The main
purpose was to automatically build connector documentation in a standardized form and include
it as Maven Site report. We should offer an alternative to this, preferably based on Asciidoctor's
own Maven plugin - https://docs.asciidoctor.org/maven-tools/latest/site-integration/setup-and-configuration/.

In the meantime there will be no shared documentation functionality provided by this project.

Other functionality provided by the plugin was to create so called *reduced POM*. I am not
sure what was the use case for this feature. Probably used when creating connector bundles
with embedded dependencies, however it feels like the same functionality is offered by
Maven Shade Plugin.


## Rewrite Site Content

We need to decide how to work with site content and create our own to get rid of CC-BY-NC-ND stuff.


## Revise Server Core

Server Core module contains dependencies that does not make sense on a first glance (grizzly).

Server Core has its own bundle activator that seems to duplicate stuff from framework-osgi.


## Validate OSGi Bundles

Make sure OSGi annotations are valid and the project works in OSGi environment.


## Move Package JavaDoc

Move package JavaDoc to `package-info.java` files.


## Upgrade to org.wrensecurity.commons

Blocked by Wrensec Commons release.


## Lower RPC Complexity

Not sure why RPC module is such a complex mess.


## Better Test Harness

Currently tests are based on quite a lot of timeouts which is unstable. We should try to
create test synchronization support components based on latches (not sure if possible).

Reference: https://github.com/WrenSecurity/wrenicf-java-framework/issues/4


## Upgrade Dependencies

This is kind of self explanatory.
49 changes: 21 additions & 28 deletions bundles-parent/pom.xml → bundle-parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,29 @@
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.forgerock.openicf.framework</groupId>
<artifactId>framework</artifactId>
<groupId>org.wrensecurity.wrenicf</groupId>
<artifactId>parent</artifactId>
<version>1.5.3.0-SNAPSHOT</version>
</parent>

<groupId>org.forgerock.openicf.connectors</groupId>
<artifactId>connectors-parent</artifactId>
<groupId>org.wrensecurity.wrenicf.connector</groupId>
<artifactId>connector-bundle-parent</artifactId>
<packaging>pom</packaging>

<name>Wren:ICF - Connector Bundles - Parent</name>
<name>Wren:ICF - Connector Bundle Parent</name>
<description>
This is the parent POM for all connector bundles. It specifies the common framework
dependencies, and defines the standard process that is used to build connector bundles.
</description>

<properties>
<!--
These are the properties needed in manifest file of the bundle,
but now hardcoded in tests
-->
<licenseResourceBundle>org.wrensecurity.wrenicf:license:${project.version}</licenseResourceBundle>

<!-- Connector framework compatibility -->
<framework.compatibilityVersion>1.5</framework.compatibilityVersion>
<framework.releaseVersion>3.0</framework.releaseVersion>

<!-- These are the properties needed in manifest file of the bundle -->
<ConnectorBundle-FrameworkVersion>${framework.compatibilityVersion}</ConnectorBundle-FrameworkVersion>
<ConnectorBundle-Name>${project.groupId}.${project.artifactId}</ConnectorBundle-Name>
<ConnectorBundle-Version>${project.version}</ConnectorBundle-Version>
Expand Down Expand Up @@ -86,7 +89,6 @@
${openicf.osgi.export.pkg};${openicf.osgi.version};-noimport:=true
</openicf.osgi.export>


<openicf.osgi.symbolic.name>${project.groupId}.${project.artifactId}</openicf.osgi.symbolic.name>
<openicf.osgi.activator />
<openicf.osgi.dynamic.import />
Expand All @@ -110,29 +112,29 @@
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.forgerock.openicf.framework</groupId>
<artifactId>connector-framework</artifactId>
<groupId>org.wrensecurity.wrenicf.framework</groupId>
<artifactId>connector-framework-core</artifactId>
<version>${project.framework.version}</version>
</dependency>

<!-- Test Dependencies -->
<dependency>
<groupId>org.forgerock.openicf.framework</groupId>
<groupId>org.wrensecurity.wrenicf.framework</groupId>
<artifactId>connector-framework-internal</artifactId>
<version>${project.framework.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.forgerock.openicf.framework</groupId>
<artifactId>connector-test-common</artifactId>
<groupId>org.wrensecurity.wrenicf.framework</groupId>
<artifactId>connector-framework-test</artifactId>
<version>${project.framework.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.forgerock.openicf.framework</groupId>
<artifactId>connector-framework</artifactId>
<groupId>org.wrensecurity.wrenicf.framework</groupId>
<artifactId>connector-framework-core</artifactId>
<version>${project.framework.version}</version>
<type>test-jar</type>
<scope>test</scope>
Expand Down Expand Up @@ -175,6 +177,7 @@
</configuration>
</plugin>

<!-- XXX FIXME
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
Expand All @@ -193,21 +196,11 @@
</dependency>
</dependencies>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>

<configuration>
<tag>${project.version}</tag>
<message>[Wren Security Connector Release] ${project.name}</message>
</configuration>
</plugin>
-->

<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>

<configuration>
<excludeDependencies>${openicf.osgi.exclude.dependencies}</excludeDependencies>
Expand Down
File renamed without changes.
1 change: 0 additions & 1 deletion connector-test-common/src/site/resources/css/site.css

This file was deleted.

Loading