Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
24 changes: 18 additions & 6 deletions docs/source/deltacode/comprehensive_installation.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Comprehensive Installation
==========================

DeltaCode requires Python 2.7.x and is tested on Linux, Mac, and Windows. Make sure Python 2.7 is
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
Expand All @@ -20,24 +20,24 @@ System Requirements
Prerequisites
-------------

DeltaCode needs a Python 2.7 interpreter.
DeltaCode needs a Python 3.6(or above) interpreter.

- **On Linux**:

Use your package manager to install ``python2.7``. If Python 2.7 is not available from your
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 2.7 32-bit (e.g. the Windows x86 MSI installer) for X86 regardless of whether
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/ftp/python/2.7.14/python-2.7.14.msi
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.
Expand All @@ -46,7 +46,7 @@ DeltaCode needs a Python 2.7 interpreter.

Download and install Python from this url:

https://www.python.org/ftp/python/2.7.14/python-2.7.14-macosx10.6.pkg
https://www.python.org/downloads/release/python-368/

Installation on Linux and Mac
-----------------------------
Expand Down Expand Up @@ -123,3 +123,15 @@ 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
---------------

- 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.
67 changes: 67 additions & 0 deletions docs/source/gsoc/gsoc21_final_report.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
Google Summer of Code 2021 - Final report
=========================================

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.