diff --git a/.clusterfuzzlite/Containerfile b/.clusterfuzzlite/Containerfile deleted file mode 100644 index cbcc3e4..0000000 --- a/.clusterfuzzlite/Containerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM gcr.io/oss-fuzz-base/base-builder-rust -RUN apt-get update && apt-get install -y make autoconf automake libtool -<<<<<<< HEAD -COPY . $SRC/project -WORKDIR $SRC/project -======= -COPY . $SRC/my-lang -WORKDIR $SRC/my-lang ->>>>>>> 7f63c53cc206ad0448f9e17e5b74dde7cf393117 -COPY .clusterfuzzlite/build.sh $SRC/ diff --git a/.clusterfuzzlite/Dockerfile b/.clusterfuzzlite/Dockerfile new file mode 100644 index 0000000..40e763a --- /dev/null +++ b/.clusterfuzzlite/Dockerfile @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell +# +# ClusterFuzzLite / OSS-Fuzz build image. The ClusterFuzzLite actions +# (google/clusterfuzzlite) build the project from `.clusterfuzzlite/Dockerfile` +# by hard-coded convention, so this file MUST be named `Dockerfile`. +FROM gcr.io/oss-fuzz-base/base-builder-rust +RUN apt-get update && apt-get install -y make autoconf automake libtool +COPY . $SRC/my-lang +WORKDIR $SRC/my-lang +COPY .clusterfuzzlite/build.sh $SRC/ diff --git a/.clusterfuzzlite/build.sh b/.clusterfuzzlite/build.sh index 5d01b85..8f7cb8a 100755 --- a/.clusterfuzzlite/build.sh +++ b/.clusterfuzzlite/build.sh @@ -1,14 +1,15 @@ #!/bin/bash -eu -<<<<<<< HEAD +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) Jonathan D.A. Jewell +# +# OSS-Fuzz / ClusterFuzzLite build script: compile the cargo-fuzz targets in +# `fuzz/` and stage each binary into $OUT. Run by `compile` inside the +# base-builder-rust image (see .clusterfuzzlite/Dockerfile). +cd "$SRC/my-lang" +cargo +nightly fuzz build -O -cd $SRC/project -cargo +nightly fuzz build --release -cp fuzz/target/*/release/fuzz_* $OUT/ -======= -cd $SRC/*/fuzz -cargo +nightly fuzz build -for target in fuzz_targets/*; do - target_name=$(basename ${target%.rs}) - cp target/x86_64-unknown-linux-gnu/release/$target_name $OUT/ +release="$SRC/my-lang/fuzz/target/x86_64-unknown-linux-gnu/release" +for target in fuzz/fuzz_targets/*.rs; do + name="$(basename "${target%.rs}")" + cp "$release/$name" "$OUT/" done ->>>>>>> 7f63c53cc206ad0448f9e17e5b74dde7cf393117 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f9c375f..94887d0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,25 +3,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 Copyright (c) Jonathan D.A. Jewell --> # Clone the repository -<<<<<<< HEAD -git clone https://github.com/hyperpolymath/my-lang-archive.git -cd my-lang-archive -======= git clone https://github.com/hyperpolymath/my-lang.git cd my-lang ->>>>>>> 7f63c53cc206ad0448f9e17e5b74dde7cf393117 # Using Nix (recommended for reproducibility) nix develop # Or using toolbox/distrobox -<<<<<<< HEAD -toolbox create my-lang-archive-dev -toolbox enter my-lang-archive-dev -======= toolbox create my-lang-dev toolbox enter my-lang-dev ->>>>>>> 7f63c53cc206ad0448f9e17e5b74dde7cf393117 # Install dependencies manually # Verify setup @@ -31,11 +21,7 @@ just test # Run test suite ### Repository Structure ``` -<<<<<<< HEAD -my-lang-archive/ -======= my-lang/ ->>>>>>> 7f63c53cc206ad0448f9e17e5b74dde7cf393117 ├── src/ # Source code (Perimeter 1-2) ├── lib/ # Library code (Perimeter 1-2) ├── extensions/ # Extensions (Perimeter 2) @@ -104,17 +90,10 @@ Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) an Look for issues labelled: -<<<<<<< HEAD -- [`good first issue`](https://github.com/hyperpolymath/my-lang-archive/labels/good%20first%20issue) — Simple Perimeter 3 tasks -- [`help wanted`](https://github.com/hyperpolymath/my-lang-archive/labels/help%20wanted) — Community help needed -- [`documentation`](https://github.com/hyperpolymath/my-lang-archive/labels/documentation) — Docs improvements -- [`perimeter-3`](https://github.com/hyperpolymath/my-lang-archive/labels/perimeter-3) — Community sandbox scope -======= - [`good first issue`](https://github.com/hyperpolymath/my-lang/labels/good%20first%20issue) — Simple Perimeter 3 tasks - [`help wanted`](https://github.com/hyperpolymath/my-lang/labels/help%20wanted) — Community help needed - [`documentation`](https://github.com/hyperpolymath/my-lang/labels/documentation) — Docs improvements - [`perimeter-3`](https://github.com/hyperpolymath/my-lang/labels/perimeter-3) — Community sandbox scope ->>>>>>> 7f63c53cc206ad0448f9e17e5b74dde7cf393117 --- diff --git a/LICENSE b/LICENSE index 14e2f77..2a8b960 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,5 @@ +SPDX-License-Identifier: MPL-2.0 + Mozilla Public License Version 2.0 ================================== diff --git a/crates/my-lsp/src/lib.rs b/crates/my-lsp/src/lib.rs index 1351baa..723749e 100644 --- a/crates/my-lsp/src/lib.rs +++ b/crates/my-lsp/src/lib.rs @@ -120,6 +120,7 @@ fn extract_error_location(error: &CheckError) -> (usize, usize) { CheckError::NonBoolCondition { line, column, .. } => (*line, *column), CheckError::ExpressionTooDeep { line, column, .. } => (*line, *column), CheckError::Other { line, column, .. } => (*line, *column), + CheckError::ResourceViolation { line, column, .. } => (*line, *column), } }