Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix site build and deploy to GH Pages #50

Merged
merged 1 commit into from
Feb 21, 2024
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: deploy

on:
push:
branches:
- main

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: 17
- uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- run: mvn -Pmetrics site site:deploy
- uses: actions/configure-pages@v4
- uses: actions/upload-pages-artifact@v3
with:
path: './target/deploy/'
- uses: actions/deploy-pages@v4
6 changes: 0 additions & 6 deletions audit/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,6 @@
<artifactId>super-csv</artifactId>
<version>${supercsv.version}</version>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,23 @@
*/

/**
* <h1>ForgeRock Bloom Filters</h1>
* <h2>ForgeRock Bloom Filters</h2>
*
* <p>
* Implementations of thread-safe, scalable and rolling Bloom Filters. These are Set-like data structures that can
* scale to very large numbers of entries while only using a small amount of memory (a few bits) per element. The
* trade-off is that the set membership operation may report false positives (i.e., it may claim that an item is a
* member of the set when it isn't). The probability of false positives can be tuned by increasing the amount of
* memory used.
* <p/>
*
* <p>
* The {@link org.forgerock.bloomfilter.BloomFilter} interface describes the general contract of bloom filters in
* more detail, and the {@link org.forgerock.bloomfilter.BloomFilters} utility class provides static factory and
* builder methods for constructing bloom filters for various requirements.
*
* <h2>Example</h2>
*
* <h3>Example:</h3>
*
* <pre>{@code
* BloomFilter<CharSequence> blacklistedSessions = BloomFilters.create(Funnels.stringFunnel(UTF8))
* .withInitialCapacity(10000) // Initial size
Expand All @@ -42,15 +47,18 @@
* }
* }</pre>
*
* <h2>Scalable and Rolling Bloom Filters</h2>
* <h3>Scalable and Rolling Bloom Filters</h3>
*
* <p>
* Beyond fixed-capacity Bloom Filters, whose probability of false positives rapidly increases once they have reached
* capacity, this package also provides <em>scalable</em> and <em>rolling</em> Bloom Filters. The former are an
* efficient and flexible implementation of the classic <a
* href="http://www.sciencedirect.com/science/article/pii/S0020019006003127">Scalable Bloom Filters</a> paper by
* Almeida et al., <em>Information Processing Letters</em>, 101(6), p.255&ndash;261, 2007. The latter are a
* time-limited variation on this idea, whereby buckets in the scalable bloom filter can expire over time, freeing up
* memory. The buckets are then recycled ensuring that memory usage is kept reasonable.
* <p/>
*
* <p>
* Scalable Bloom Filters are useful for storing sets of objects where you do not know <em>a priori</em> the number
* of elements you might need to store. By dynamically expanding the capacity of the Bloom Filter, as well as
* reducing the false positive probability of subsequent buckets according to a geometric series, the Scalable Bloom
Expand All @@ -60,13 +68,18 @@
* {@link org.forgerock.bloomfilter.BloomFilters.BloomFilterBuilder#withCapacityGrowthFactor(double)} builder methods
* to configure the scale factors for capacity and false positive probability in these implementations. The defaults
* (0.8 and 2.0 respectively) provide a good trade off of memory growth and performance.
* <p/>
*
* <p>
* Rolling Bloom Filters allow elements in a Bloom Filter to expire over time. Use the {@link
* org.forgerock.bloomfilter.BloomFilters.BloomFilterBuilder#withExpiryStrategy(org.forgerock.bloomfilter.ExpiryStrategy)}
* method to configure how elements in your Bloom Filter will expire. By default, elements do not expire.
*
* <h2>Concurrency Strategies</h2>
* <h3>Concurrency Strategies</h3>
*
* <p>
* The implementations provided are currently all thread-safe, and adopt a flexible approach to concurrency control.
*
* <p>
* Two concurrency strategies are currently supported:
* <ul>
* <li><em>SYNCHRONIZED</em> - uses synchronized blocks to ensure mutual exclusion of critical sections. For
Expand All @@ -81,10 +94,14 @@
* read performance (mightContain) is paramount and writes are relatively rare (and can tolerate increased
* latency).</li>
* </ul>
*
* <p>
* Use the {@link org.forgerock.bloomfilter.BloomFilters.BloomFilterBuilder#withConcurrencyStrategy(org.forgerock.bloomfilter.ConcurrencyStrategy)}
* method to specify the concurrency strategy to use. The default is COPY_ON_WRITE.
*
* <h2>Write Batching</h2>
* <h3>Write Batching</h3>
*
* <p>
* To compensate for the relatively poor performance of COPY_ON_WRITE concurrency (see previous section), the
* implementation supports <em>write batching</em>. When enabled, individual calls to the {@link
* org.forgerock.bloomfilter.BloomFilter#add(java.lang.Object)} method will be buffered in a traditional concurrent
Expand Down
11 changes: 7 additions & 4 deletions commons-bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@
</description>
<url>https://wrensecurity.org</url>

<distributionManagement>
<site>
<id>local</id>
<url>file:${maven.multiModuleProjectDirectory}/target/deploy/commons-bom</url>
</site>
</distributionManagement>

<properties>
<jodaTime.version>2.10.9</jodaTime.version>
<assertj.version>3.19.0</assertj.version>
Expand Down Expand Up @@ -673,8 +680,4 @@
</dependency>
</dependencies>
</dependencyManagement>

<scm>
<tag>22.6.0</tag>
</scm>
</project>
1 change: 0 additions & 1 deletion doc-maven/doc-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>${mavenPluginPluginVersion}</version>
</plugin>

<plugin>
Expand Down
22 changes: 9 additions & 13 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
<url>https://github.com/WrenSecurity/wrensec-commons</url>
<connection>scm:git:git://github.com/WrenSecurity/wrensec-commons.git</connection>
<developerConnection>scm:git:git@github.com:WrenSecurity/wrensec-commons.git</developerConnection>
<tag>22.6.0</tag>
<tag>HEAD</tag>
</scm>

<repositories>
Expand Down Expand Up @@ -89,7 +89,7 @@

<properties>
<pgpVerifyKeysVersion>1.7.6</pgpVerifyKeysVersion>
<javax.servlet-api.version>3.1.0</javax.servlet-api.version>
<wrenBuildToolsVersion>1.2.0</wrenBuildToolsVersion>
</properties>

<dependencyManagement>
Expand All @@ -104,6 +104,13 @@
</dependencies>
</dependencyManagement>

<distributionManagement>
<site>
<id>local</id>
<url>file:${maven.multiModuleProjectDirectory}/target/deploy/</url>
</site>
</distributionManagement>

<modules>
<module>commons-bom</module>
<module>audit</module>
Expand Down Expand Up @@ -134,16 +141,5 @@
</plugin>
</plugins>
</pluginManagement>

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

<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
</plugins>
</build>
</project>
Binary file added src/site/resources/favicon.ico
Binary file not shown.
23 changes: 23 additions & 0 deletions src/site/site.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
The contents of this file are subject to the terms of the Common Development and
Distribution License (the License). You may not use this file except in compliance with the
License.

You can obtain a copy of the License at legal/CDDLv1.1.txt. See the License for the
specific language governing permission and limitations under the License.

When distributing Covered Software, include this CDDL Header Notice in each file and include
the License file at legal/CDDLv1.1.txt. If applicable, add the following below the CDDL
Header, with the fields enclosed by brackets [] replaced by your own identifying
information: "Portions copyright [year] [name of copyright owner]".

Copyright 2024 Wren Security
-->
<project xmlns="http://maven.apache.org/DECORATION/1.8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.0 http://maven.apache.org/xsd/decoration-1.8.0.xsd">
<body>
<menu ref="reports" inherit="top" />

<menu ref="modules" inherit="top" />
</body>
</project>
Loading