{"id":20910129,"url":"https://github.com/viperproject/viper-linux-dev","last_synced_at":"2025-10-25T14:37:27.528Z","repository":{"id":103042520,"uuid":"249458719","full_name":"viperproject/viper-linux-dev","owner":"viperproject","description":"Environment for developing Viper under Linux.","archived":false,"fork":false,"pushed_at":"2020-03-23T14:59:34.000Z","size":185,"stargazers_count":1,"open_issues_count":5,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-19T15:23:23.407Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viperproject.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-23T14:48:11.000Z","updated_at":"2021-02-08T21:23:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff6b7e2c-eb8c-4db5-a6aa-f93b54c5e919","html_url":"https://github.com/viperproject/viper-linux-dev","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviper-linux-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviper-linux-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviper-linux-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Fviper-linux-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viperproject","download_url":"https://codeload.github.com/viperproject/viper-linux-dev/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243302391,"owners_count":20269500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T14:13:59.646Z","updated_at":"2025-10-25T14:37:27.429Z","avatar_url":"https://github.com/viperproject.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=============================\nViper Development Environment\n=============================\n\nAn environment for developing and using `Viper\n\u003chttp://www.pm.inf.ethz.ch/research/viper.html\u003e`_ on Linux.\n\nRequirements\n============\n\n+   `Docker \u003chttps://docker.com/\u003e`_\n\n    +   Installation instructions for Ubuntu can be found\n        `here \u003chttps://docs.docker.com/installation/ubuntulinux/\u003e`_.\n\nQuick Start\n===========\n\n1.  As a first step, please follow the instructions in the subsection\n    `Environment`_ to set up the environment.\n2.  If you want to use IDE for Viper development, please follow the\n    steps in the subsection `Developing Viper`_.\n\n-----------\nEnvironment\n-----------\n\nClone repository and ``cd`` into it:\n\n.. code-block:: bash\n\n  hg clone https://bitbucket.org/viperproject/viper-linux-dev\n  cd viper-linux-dev\n\nBuild Docker image (**note**: this command uses ``sudo`` to get root access):\n\n.. code-block:: bash\n\n  make build_image\n\nStart container (**note**: this command uses ``sudo`` to get root access):\n\n.. code-block:: bash\n\n  make start_server\n\nConnect to the container and run Chalice2Viper tests:\n\n.. code-block:: bash\n\n  make connect\n  # If succeeded, now you are inside Docker container.\n  # To run Silicon tests, execute:\n  cd source/silicon\n  sbt test\n  # Similarly, to run Carbon tests, execute:\n  cd\n  cd source/carbon\n  sbt test\n\n----------------\nDeveloping Viper\n----------------\n\nDocker image has a\n`IntelliJ IDEA Community Edition \u003chttps://www.jetbrains.com/idea/\u003e`_\ninstalled, which you can use for developing Viper.\n\nConnect to container and start IntelliJ IDEA:\n\n.. code-block:: bash\n\n  make connect\n  idea\n\nFollow the instructions of the IntelliJ IDEA setup wizard. On step\n“Featured plugins”, install Scala plugin.\n\nOpen project: *Open* → ``/home/developer/source/silicon`` (or\n``/home/developer/source/carbon`` if you want to develop Carbon instead\nof Silicon) → *OK* → Select these items:\n\n+   Use auto-import\n+   Project SDK: *New…* → ``/usr/lib/jvm/java-8-oracle`` → *OK*\n\nPress *OK*.\n\nIf you want to have the ``sbt test`` and ``sbt compile`` targets:\n\n#.  Open the *Edit Configurations…* window by pressing Shift key twice, typing\n    “Edit Configurations” and pressing Enter.\n#.  Create new *SBT Task*:\n\n    +   Name: *Test*\n    +   Tasks: *test*\n    +   Remove *Make* from *Before launch*\n\n#.  Create new *SBT Task*:\n\n    +   Name: *Compile*\n    +   Tasks: *compile*\n    +   Remove *Make* from *Before launch*\n\n*Note:* It is expected that IntelliJ cannot find ``brandingData``. Just\nignore this error.\n\nTips\n=====\n\n-----------------\nBuilding Packages\n-----------------\n\nDebian\n======\n\nTo create debian packages:\n\n.. code-block:: bash\n\n    make connect\n    cd ~/source/silicon/\n    sbt stage\n    cd ~/source/carbon/\n    sbt stage\n    cd ~\n    # Assuming repo is a symlink to a folder served by HTTP server:\n    /home/developer/source/packaging/create.py debian /home/developer/repo\n    cd repo\n    ~/source/bin/debian_package\n\nHomebrew\n========\n\nBuild files and upload to the Bintray repository:\n\n.. code-block:: bash\n\n    make package_homebrew\n\nUpdate the Homebrew formula:\n\n.. code-block:: bash\n\n    cd homebrew\n    cp ../workspace/package/homebrew/*.rb .\n    git add *.rb\n    git commmit -m \"New version.\"\n    git push\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviperproject%2Fviper-linux-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviperproject%2Fviper-linux-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviperproject%2Fviper-linux-dev/lists"}