Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ For other questions, discussions, and chats, we have:
Bug reports
===========

When `reporting a bug`__ please include:
When reporting a bug please include:

* Your operating system name, version and architecture (32 or 64 bits).
* Your Python version.
Expand Down
12 changes: 6 additions & 6 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ For more comprehensive installation instructions and development instructions, s
For development instructions, see:
`Development Instructions <https://github.com/nexB/deltacode/wiki/Development>`_

Make sure you have Python 2.7 installed:
* Download and install Python 2.7 32 bits for Windows
https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi
* Download and install Python 2.7 for Mac
https://www.python.org/ftp/python/2.7.14/python-2.7.14-macosx10.6.pkg
* Download and install Python 2.7 for Linux via distro package manager
Make sure you have Python 3.6+ installed:
* Download and install Python 3.6+ Windows
https://www.python.org/downloads/windows/
* Download and install Python 3.6+ for Mac
https://www.python.org/downloads/mac-osx/
* Download and install Python 3.6+ for Linux via distro package manager

Next, download and extract the latest DeltaCode release from::

Expand Down
3 changes: 1 addition & 2 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@


# -- Project information -----------------------------------------------------

project = 'deltacode'
copyright = 'nexb Inc.'
author = 'nexb Inc.'
Expand Down Expand Up @@ -49,7 +48,7 @@
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = []

html_context = {
'css_files': [
Expand Down
67 changes: 67 additions & 0 deletions docs/source/deltacode/GSOC_2021_report.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
Google Summer of Code 2021 - Final report

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added the .rst here @AyanSinhaMahapatra

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

=========================================

Project: Virtual Codebase support in DeltaCode
----------------------------------------------------------

**Pratik Dey <pratikrocks.dey11@gmail.com>**

Project Overview
----------------

The goal of this proposal is to refactor DeltaCode to use Scancode-Toolkit’s Virtual Codebase class.
This refactoring will allow DeltaCode to be a library as opposed to only be used as a CLI tool, moreover,
this refactor will allow DeltaCode to determine deltas much more effectively in the form of BFS tree scan
of the two tree structures unlike indexing the entire codebase.


Main Objectives of the project
------------------------------

- Migrate to using VirtualCodebase from the latest scancode.
- Create DeltaCode documentation on Read The Docs.
- Provide the support for fingerprint plugin for Virtual Codebase.
- Provide the Support for enabling Virtual Codebase to scan files having full root paths as their location.

The Project
-----------

- Virtual Codebase Integration with Deltacode
- Removing redundant File and License Objects
- Provided options in deltacode scans
- Added Docker Script for Dockerizing the Deltacode Application and make it platform-independent.
- Add Read the Docs Support to Deltacode.

I have completed all the tasks that were in the scope of this GSoC project.

Pull Requests
-------------

- https://github.com/nexB/deltacode/pull/167 [Merged]
- https://github.com/nexB/deltacode/pull/176 [Open]
- https://github.com/nexB/deltacode/pull/171 [Open]
- https://github.com/nexB/deltacode/pull/178 [Open]
- https://github.com/nexB/deltacode/pull/168 [Open]

Links
-----

..
[Project Link] https://summerofcode.withgoogle.com/organizations/5312205181943808/#6516503005888512

- `Project Details <https://summerofcode.withgoogle.com/organizations/5312205181943808/#6516503005888512>`_
- `Proposal <https://docs.google.com/document/d/19btijAja6x8hbD_X-dGor1RiiEGF3-1gEHYkzqzC3xQ/edit#heading=h.z6ne0og04bp5>`_
- `ScanCode Toolkit <https://github.com/nexB/scancode-toolkit>`_
- `DeltaCode <https://github.com/nexB/deltacode>`_

------------

I’ve had a wonderful time during these three months and have learned plenty of things. I would
really like to thank `@pombredanne <https://github.com/pombredanne>`_,
`@majurg <https://github.com/majurg>`_, and `@JonoYang <https://github.com/JonoYang>`_ for their
constant support throughout the journey. From good job claps to nit-picky constructive
code-reviews, I enjoyed every bit of this GSoC project.

I had a wonderful time during the GSOC, I learned a lot of things during this time. I really enjoyed this project.
I would really like to thank my mentors `@pombredanne <https://github.com/pombredanne>`_, `@majurg <https://github.com/majurg>`_, and `@TG1999 <https://github.com/TG1999>`_,
and all other About code members who constantly supported me throughout this project.
137 changes: 137 additions & 0 deletions docs/source/deltacode/comprehensive_installation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
Comprehensive Installation
==========================

DeltaCode requires Python 3.6+ and is tested on Linux, Mac, and Windows. Make sure Python 3.6 (or above) is
installed first.

System Requirements
-------------------

- Hardware : DeltaCode will run best with a modern X86 processor and at least 1GB of RAM and 250MB
of disk.

- Supported operating systems : DeltaCode should run on these OSes:

#. Linux: on most recent 64-bit Linux distributions (32-bit distros are only partially
supported),
#. Mac: on recent Mac OSX (10.6.8 and up),
#. Windows: on Windows 7 and up (32- or 64-bit) using a 32-bit Python.

Prerequisites
-------------

DeltaCode needs a Python 3.6(or above) interpreter.

- **On Linux**:

Use your package manager to install atleast ``python3.6``. If Python 3.6 is not available from your
package manager, you must compile it from sources.

For instance, visit https://github.com/dejacode/about-code-tool/wiki/BuildingPython27OnCentos6
for instructions to compile Python from sources on Centos.

- **On Windows**:

Use the Python 3.6 32-bit (e.g. the Windows x86 MSI installer) for X86 regardless of whether
you run Windows on 32-bit or 64-bit. **DO NOT USE Python X86_64 installer** even if you run
64 bit Windows.

Download Python from this url:
https://www.python.org/downloads/release/python-368/

Install Python on the c: drive and use all default installer options.
See the Windows installation section for more installation details.

- **On Mac**:

Download and install Python from this url:

https://www.python.org/downloads/release/python-368/

Installation on Linux and Mac
-----------------------------

Download and extract the latest ScanCode release from:
https://github.com/nexB/deltacode/releases/latest

Open a terminal in the extracted directory and run::

./deltacode --help

This will configure DeltaCode and display the command line help.

Installation on Windows
-----------------------

Download the latest ScanCode release zip file from:
https://github.com/nexB/deltacode/releases/latest

- In Windows Explorer, select the downloaded DeltaCode zip and right-click.

- In the pop-up menu select 'Extract All...'

- In the pop-up window 'Extract zip folders' use the default options to extract.

- Once the extraction is complete, a new Windows Explorer window will pop-up.

- In this Explorer window, select the new folder that was created and right-click.

- In the pop-up menu select 'Properties'

- In the pop-up window 'Properties', select the Location value. Copy this in clipboard.

- Press the start menu button.

- In the search box type

::

cmd

- Select 'cmd.exe' listed in the search results.

- A new 'cmd.exe' window pops-up.

- In this window (aka. a command prompt), type this (this is 'cd' followed by a space)

::

cd

- then right-click in this window and select Paste. This will paste the path where you extracted
DeltaCode.

- Press Enter.

- This will change the current location of your command prompt to the root directory where
DeltaCode is installed.

- Then type

::

deltacode --help

- Press enter. This will configure your DeltaCode installation.

- Several messages are displayed followed by the deltacode command help.

- The installation is complete.

Un-installation
---------------

- Delete the directory in which you extracted DeltaCode.
- Delete any temporary files created in your system temp directory under a deltacode directory.

Using the docker image for testing Deltacode

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the required instructions to run the docker image

---------------

- In the project root directory run `docker-compose up`.
- This will create an image of deltacode with the name `delta_code`.
- To verify the image created run `docker image ls`.
- To run the image run `docker run -itd --name <specific name of container> delta_code `.
- The above command runs the image in the background and creates a container with the name as per specified.
- To execute the container in a bash mode run `docker exec -it <container name> bash`.
- The above command will open a bash shell in the container.
- To run the commands / pytest inside the shell you can use the commands as specified in the documentations.
Loading