Showing 343 changed files with 87,031 additions and 28,661 deletions.
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Hi! This project does not accept pull requests.

Please see the guidelines for contribution on how to file issues or provide patches:

https://github.com/clojure/clojure/blob/master/CONTRIBUTING.md
72 changes: 72 additions & 0 deletions .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Build API Docs

on:
workflow_dispatch:
inputs:
commit:
description: 'Commit changes to gh-pages branch'
type: boolean
required: true
default: false

jobs:
build:
runs-on: ubuntu-latest
steps:

- name: Set up Java
uses: actions/setup-java@v3
with:
java-version: 8
distribution: 'temurin'

- name: Set up Clojure
uses: DeLaGuardo/setup-clojure@11.0
with:
cli: 'latest'

- name: Cache clojure dependencies
uses: actions/cache@v3
with:
path: |
~/.m2/repository
~/.gitlibs
key: cljdeps-${{ hashFiles('deps.edn') }}
restore-keys: cljdeps-

- name: Clone clojure api doc repo
uses: actions/checkout@v3
with:
repository: clojure/clojure-api-doc
path: clojure-api-doc
fetch-depth: 0

- name: Clone clojure source code repo into clojure-api-doc
uses: actions/checkout@v3
with:
path: clojure-api-doc/repo
fetch-depth: 0

- name: Clone clojure gh-pages branch into clojure-api-doc
uses: actions/checkout@v3
with:
repository: clojure/clojure
path: clojure-api-doc/repo-docs
ref: 'gh-pages'
fetch-depth: 0

- name: Install markdown
run: sudo apt install markdown

- name: Call clojure-api-doc build.sh
run: bash ${GITHUB_WORKSPACE}/clojure-api-doc/build.sh

- name: Commit
if: ${{inputs.commit}}
run: |
git config --global user.name clojure-build
git config --global user.email "clojure-build@users.noreply.github.com"
cd clojure-api-doc/repo-docs
git add -u -v
git commit -m "Autodoc commit"
git push origin gh-pages
19 changes: 19 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Release on demand

on:
workflow_dispatch:
inputs:
releaseVersion:
description: "Version to release"
required: true
snapshotVersion:
description: "Snapshot version after release"
required: true

jobs:
call-release:
uses: clojure/build.ci/.github/workflows/release.yml@master
with:
releaseVersion: ${{ github.event.inputs.releaseVersion }}
snapshotVersion: ${{ github.event.inputs.snapshotVersion }}
secrets: inherit
8 changes: 8 additions & 0 deletions .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Snapshot on demand

on: [workflow_dispatch]

jobs:
call-snapshot:
uses: clojure/build.ci/.github/workflows/snapshot.yml@master
secrets: inherit
26 changes: 26 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Test

on:
push:
workflow_dispatch:

jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest] # macOS-latest, windows-latest]
java-version: ["8", "11", "17", "21"]
distribution: ["temurin", "corretto"]
profile: ["test-direct", "test-no-direct"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.distribution }}
cache: 'maven'
- name: Build with Maven
run: mvn -ntp -B -P${{ matrix.profile }} clean test
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
*.jar
target
clojure.iws
clojure.ipr
nbproject/private/
maven-classpath
maven-classpath.properties
.idea/
*.iml
42 changes: 42 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Hi! Thanks for your interest in Clojure!

## I want to ask a question

If you have a question about Clojure, please use the official Ask Clojure forum at https://ask.clojure.org. This forum is monitored by the Clojure maintainers.

## I want to discuss an idea

There are many interactive Clojure forums for discussion and you can find a list at [Clojure Discussion](https://clojure.org/community/resources#_clojure_discussion).

## I want to file a bug / suggest an enhancement

Please file it as a question on https://ask.clojure.org with the tag "problem" (possible bugs) or "request" (enhancements).

## I want to provide a patch / PR

If you would like to contribute patches, the Clojure dev process is described in detail at https://clojure.org/dev.

In short, this process requires:

- [Signing the Contributor Agreement](https://clojure.org/dev/contributor_agreement)
- [Requesting jira access](https://clojure.atlassian.net/servicedesk/customer/portal/1)

This project does not accept pull requests.

## I am looking for official documentation

You can find official documentation on the Clojure web site:

* Reference docs https://clojure.org/reference
* Tutorials and guides: https://clojure.org/guides
* API: https://clojure.org/api/api

## What release should I use?

Find the current release info here:

https://clojure.org/releases/downloads

A list of all releases can be found here:

https://clojure.org/releases/downloads_older
8 changes: 8 additions & 0 deletions antsetup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

mvn -q dependency:build-classpath -Dmdep.outputFile=maven-classpath
cat <<EOF >maven-classpath.properties
maven.compile.classpath=`cat maven-classpath`
maven.test.classpath=`cat maven-classpath`
EOF
echo "Wrote maven-classpath.properties for standalone ant use"
Loading