<commit_before>#!/bin/bash

# This file needs to be run from the git root directory!

# Exit script on the first error
set -o errexit -o nounset

export RUSTFLAGS="--deny warnings"

# Jedes `sheetN/taskN` Verzeichnis enthält entweder ein Cargo-Projekt (also eine
# Cargo.toml) oder eine einzige `.rs`-Datei für Nicht-Cargo-Projekte die direkt
# mit rustc kompiliert werden.
#
# Um den Travis-Cache effizient zu nutzen (es wird `/target` gecached) und
# generell die CI-Zeiten zu verringern, wechseln wir nie das Verzeichnis und
# kompilieren immer nur die Aufgaben des aktuellsten Aufgabenblatts.

current_sheet=$()
#$(ls -d sheet* | tail -n1)

#if [ -z "$current_sheet" ]; then
#    echo ""
#    echo "=== Keine Aufgaben gefunden. Beende."
#    exit 0
#fi

echo ""
echo "=== Aktuelles Aufgabenblatt ist in Ordner $current_sheet"

manifest="rustle-my-net/Cargo.toml"
if [ -e "$manifest" ]; then
    echo "=== Cargo-Manifest gefunden in '$manifest' -> Cargo-Modus"
    cargo test --manifest-path "$manifest"
elif [ $(ls *.rs | wc -l) -ne 0 ]; then
    echo "=== Sourcedatei(en) gefunden -> rustc-Modus"
    for srcfile in *.rs; do
        echo "=== Kompiliere und teste '$srcfile'..."
        rustc "$srcfile"<commit_msg>adapt ci script to new project structure<commit_after>#!/bin/bash

# This file needs to be run from the git root directory!

# Exit script on the first error
set -o errexit -o nounset

export RUSTFLAGS="--deny warnings"

# Jedes `sheetN/taskN` Verzeichnis enthält entweder ein Cargo-Projekt (also eine
# Cargo.toml) oder eine einzige `.rs`-Datei für Nicht-Cargo-Projekte die direkt
# mit rustc kompiliert werden.
#
# Um den Travis-Cache effizient zu nutzen (es wird `/target` gecached) und
# generell die CI-Zeiten zu verringern, wechseln wir nie das Verzeichnis und
# kompilieren immer nur die Aufgaben des aktuellsten Aufgabenblatts.

current_sheet=$()
#$(ls -d sheet* | tail -n1)

#if [ -z "$current_sheet" ]; then
#    echo ""
#    echo "=== Keine Aufgaben gefunden. Beende."
#    exit 0
#fi

echo ""
echo "=== Aktuelles Aufgabenblatt ist in Ordner $current_sheet"

manifest="Cargo.toml"
if [ -e "$manifest" ]; then
    echo "=== Cargo-Manifest gefunden in '$manifest' -> Cargo-Modus"
    cargo test --manifest-path "$manifest"
elif [ $(ls *.rs | wc -l) -ne 0 ]; then
    echo "=== Sourcedatei(en) gefunden -> rustc-Modus"
    for srcfile in *.rs; do
        echo "=== Kompiliere und teste '$srcfile'..."
        rustc "$srcfile"
{'fraction_non_alphanumeric': 0.12759885854056258, 'fraction_numerical': 0.0024459845087647777, 'mean_word_length': 3.612781954887218, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4959772', 'n_tokens_mistral': 899, 'n_tokens_neox': 883, 'n_words': 293}