Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: john-shepherdson
  • License: apache-2.0
  • Language: Java
  • Default Branch: main
  • Size: 2.19 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 9 months ago · Last pushed 9 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

EOSC GitHub Markup Scanner

SQAaaS badge SQAaaS badge shields.io

This repository contains the source code for the GitHub Markup Scanner which searches a GitHub repository, looking for Badges. The program handles errors gracefully and provides informative messages for missing repositories or network issues.

Key Features:

  1. Accepts a GitHub repository URL and a search string as command-line arguments
  2. Uses the GitHub API to fetch repository contents from the root directory
  3. Identifies markup files by common extensions (.md, .rst, .txt, .asciidoc, etc.)
  4. Downloads and scans each markup file line by line
  5. Prints any lines containing to search string with line numbers
  6. Handles various GitHub URL formats

Prerequisites

Java 21 or greater is required to build and run this application.

Jackson JSON library for parsing GitHub API responses: jackson-databind jackson-core jackson-annotations

Quick Start

  1. Check prerequisites and install any required software.
  2. Clone the repository to your local workspace.
  3. Build the application using mvn clean verify.
  4. Run the application using the following command: mvn exec:java.

Getting started as developer

Execute tests and run the application

```shell

Run tests with coverage

mvn clean test

Run all tests including integration

mvn clean verify

Generate coverage reports

mvn clean test jacoco:report

Run SonarQube analysis

mvn clean verify sonar:sonar

Build Jar

mvn clean package

Skip coverage checks (development)

mvn clean test -Pdev

Run the application

java -cp ".:jackson-databind.jar:jackson-core.jar:jackson-annotations.jar" eoscbeyond.eu.GitHubMarkupScanner https://github.com/user/repo ```

Example output

```shell Scanning: CHANGELOG.md No matches found.

Scanning: CODEOFCONDUCT.md No matches found.

Scanning: CONTRIBUTING.md No matches found.

Scanning: CONTRIBUTORS.md No matches found.

Scanning: LICENSE.txt No matches found.

Scanning: README.md Line 3: SQAaaS badge ```

Project Structure

This project uses the standard Maven project structure.

``` text

├── .mvn # Maven wrapper. ├── src # Contains all source code and assets for the application. | ├── main | | ├── java # Contains release source code of the application. | └── test | ├── java # Contains test source code. | └── resources # Contains test resource assets. └── target # The output directory for the build. ```

Technology Stack

Several frameworks are used in this application.

| Framework/Technology | Description | | -------------------------------------------------- | --------------------------------------------------------- | | Jackson JSON Library | Jackson is a suite of data-processing tools for Java, including the flagship streaming JSON parser | | junit-jupiter-api | Java unit testing framework |

Resources

Issue Tracker

Owner

  • Name: John Shepherdson
  • Login: john-shepherdson
  • Kind: user
  • Location: United Kingdom
  • Company: CESSDA

Citation (CITATION.cff)

#
# Copyright © 2025 EOSC Beyond
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: EOSC Node Registry (demo)
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: John
    family-names: Shepherdson
    email: john.shepherdson@cessda.eu
    affiliation: CESSDA ERIC

GitHub Events

Total
  • Release event: 1
  • Push event: 9
  • Create event: 3
Last Year
  • Release event: 1
  • Push event: 9
  • Create event: 3

Dependencies

pom.xml maven
  • com.fasterxml.jackson.core:jackson-annotations 2.15.2
  • com.fasterxml.jackson.core:jackson-core 2.15.2
  • com.fasterxml.jackson.core:jackson-databind 2.15.2
  • org.slf4j:slf4j-api 2.0.7
  • org.slf4j:slf4j-simple 2.0.7
  • org.junit.jupiter:junit-jupiter 5.10.0 test
  • org.junit.jupiter:junit-jupiter-engine 5.10.0 test
  • org.junit.jupiter:junit-jupiter-params 5.10.0 test
  • org.mockito:mockito-core 5.2.0 test
  • org.mockito:mockito-inline 5.2.0 test
  • org.mockito:mockito-junit-jupiter 5.2.0 test