Code Monkey home page Code Monkey logo

toshiba-sw360's Introduction

Eclipse Public License 2.0 SW360 Build and Test Slack Channel Changelog GitHub release (latest by date)

SW360 Portal

A software component catalogue application.

SW360 is a server with a REST interface and a Liferay CE portal application to maintain your projects / products and the software components within.

It can manage SPDX files for maintaining the license conditions and maintain license information.

Introduction

It is comprised of one frontend (portal) part, backend (services) part and additionally a REST API:

  • Frontend: Liferay-CE-(Tomcat-)based portal application using portlets.
  • Backend: Tomcat-based thrift services for being called by different applications.
  • Database: we store software components and metadata about them in CouchDB.
  • Rest: this REST API provides access to project resources for external integration.

The reference platform is the Ubuntu server 22.04 (which is an LTS version).

Project structure

This is a multi module maven file. please consider that we have the following modules:

  • frontend: For portlets, themes and layouts, the liferay part.
  • backend: For the thrift based services.
  • libraries: For general stuff that is reused among the above, for example, couchdb access.
  • scripts: Auxiliary scripts to help build, deploy and config system
  • rest: For the REST API which contains an authorization and resource server.

Issues

If you run in any issues with documentation or software, please be kind and report to our Github issues area.

Deployment

Is recommended using the docker based setup, described here.

If you intend to install in a bare metal machine or use in your own virtualizaed system, bare metal instructions are provided here.

Development

If you intend to develop over SW360, few steps are needed as equal you need have base requirements

  • Base build requirements
    • Java 11
    • Maven 3.8.7
    • pre-commit
    • thrift 0.16.0 runtime
    • Python environment ( to pre-commit ) - SW360 use Eclipse formatting rules through Spotless maven plugin

If you can't install thrift 0.16 runtime, you will need the following requirements:

  • C++ dev environment
  • cmake Then run the current build script:
./scripts/install-thrift.sh

Local Building

Step 1: Prepare source code

git clone https://github.com/eclipse/sw360.git
cd sw360
pip install pre-commit
pre-commit install

Step 2: Build the code (without tests and docs)

mvn package -P deploy \
    -Dhelp-docs=false \
    -DskipTests \
    -Djars.deploy.dir=deploy \
    -Drest.deploy.dir=webapps \
    -Dliferay.deploy.dir=webapps \
    -Dbackend.deploy.dir=webapps

If you want run the the tests, we need start a local couchdb server and Docker is required:

Step 3:

pip install mkdocs-material
./scripts/startCouchdbForTests.sh

mvn package -P deploy \
    -Djars.deploy.dir=deploy \
    -Drest.deploy.dir=webapps \
    -Dliferay.deploy.dir=webapps \
    -Dbackend.deploy.dir=webapps

To check your code linting without commit:

mvn spotless:check

Please refer to SW360 main documentation website for more details.

License

SPDX-License-Identifier: EPL-2.0

This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/

toshiba-sw360's People

Contributors

ag4ums avatar mcjaeger avatar smrutis1 avatar heliocastro avatar maierthomas avatar lepokle avatar tuannn2 avatar jaideeppalit avatar rudra-superrr avatar maxhbr avatar hoangnt2 avatar nutanv1contr avatar ravi110336 avatar koukihama avatar gmishx avatar neubs-bsi avatar dependabot[bot] avatar keerthi-bl avatar alberthjy avatar imaykay avatar oheger-bosch avatar alexbrdn avatar sameed20 avatar eldrin30 avatar akapti avatar blaumeiser-at-bosch avatar arunazhakesan avatar shi9qiu avatar nam-np avatar sweetca avatar

Watchers

Robert Bongart (MSc MSc MA) avatar

toshiba-sw360's Issues

๐Ÿงš๐Ÿค– Pixeebot Activity Dashboard

DashList

๐Ÿ‘‹ This dashboard summarizes my activity on the repository, including available improvement opportunities.

Recommendations

Last analysis: May 24 | Next scheduled analysis: May 28

Open

Available

๐Ÿ‘‹ Summon these changes faster with @pixeebot next

  • Introduced protections against "zip slip" attacks Details
  • Introduced protections against XSS attacks in JSP scriptlets Details
  • Protect readLine() against DoS Details
  • Introduced protections against HTTP header injection / smuggling attacks Details
  • Sanitized user-provided file names in HTTP multipart uploads Details

...and more

Metrics

What would you like to see here? Let us know!

Resources

๐Ÿ“š Quick links
Pixee Docs | Codemodder by Pixee

๐Ÿงฐ Tools I work with
Sonar, CodeQL, Semgrep

๐Ÿš€ Pixee CLI
The power of my codemods in your local development environment. Learn more

๐Ÿ’ฌ Reach out
Feedback | Support


โค๏ธ Follow, share, and engage with Pixee: GitHub | LinkedIn | Slack

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.