Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for 
change notification.

The "Windows Development" page has been changed by PauloMotta:
https://wiki.apache.org/cassandra/Windows%20Development

New page:
== Setting Up Environment ==

Open !PowerShell as administrator (“run as administrator” on right-click), and 
peform the steps below:
 
  * Set the execution policy as remotesigned in order to install chocolatey:
    * `set-executionpolicy remotesigned`
  * Install chocolatey package manager
    * Install instructions available [[https://chocolatey.org/|here]]
  * Install the following packages with “chocolatey install <packageName>”
    * Mandatory packages (running, compiling and installing)
      * jdk7 and/or jdk8 (depending on C* version to develop)
      * ant
      * git
      * python2
      * easy.install
      * pip
    * Optional packages (productivity)
      * gnuwin
      * poshgit

== Running cassandra-dtests ==

  * Set $CASSANDRA_DIR environment variable (the environment variable will only 
be exported during next terminal session)
    * `[Environment]::SetEnvironmentVariable("CASSANDRA_DIR", 
"c:\Users\<username>\<cassandra_dir>", "User")`
  * Download and install Microsoft Visual C++ Compiler for Python 2.7
    * Available on 
[[https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266|this 
link]]
  * Instal necessary python modules
    * `pip install blist 
git+https://github.com/datastax/python-driver.git@cassandra-test 
git+https://github.com/pcmanus/ccm.git cql decorator enum34 flaky futures nose 
nose-test-select pycassa six thrift psutil`
    * Check 
https://github.com/riptano/cassandra-dtest/blob/master/requirements.txt for new 
requirements

== Running CCM ==

   * You need to set the execution policy to unrestricted to run CCM on 
!PowerShell as administrator:
    * `set-executionpolicy unrestricted`
   * Add .PY extension to environment variable $PATHEXT, to allow ccm to be 
executed from any location (run on !PowerShell as administrator):
    * `[Environment]::SetEnvironmentVariable("PATHEXT", "$env:PATHEXT;.PY", 
"MACHINE")`
   * Create a symbolinc link (as administrator) to make chocolatey ant work 
with ccm, since ccm expects an ant.bat executable, while chocolatey creates and 
ant.exe file:
    * `cmd /c mklink C:\ProgramData\chocolatey\bin\ant.bat 
C:\ProgramData\chocolatey\bin\ant.exe`

== Script for switching JDKs ==

In a mixed JDK7/JDK8 the following PowerShell functions might be useful for 
switching jdks (place them on 
`$ENV:HOME\Documents\WindowsPowerShell\profile.ps1`):

{{{
function updateJavaHome($newHome)
{
    $env:JAVA_HOME=$newHome
    [Environment]::SetEnvironmentVariable("JAVA_HOME", $env:JAVA_HOME, 
"Machine")
}

function updateRegistry($newVersion)
{
    Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java 
Runtime Environment\' CurrentVersion $newVersion
}

function updatePath
{
    $PathWithoutJava=(($Env:Path).Split(";") | where {$_ -notmatch 'java'}) 
-join ";"
    $NewPath="$env:JAVA_HOME\bin;$pathWithoutJava"
    $Env:Path=$NewPath
    [Environment]::SetEnvironmentVariable("PATH",$NewPath,"Machine");
}

function java8
{
    updateJavaHome("C:\Program Files\Java\jdk1.8.0_51")
    updateRegistry("1.8")
    updatePath
}

function java7
{
    updateJavaHome("C:\Program Files\Java\jdk1.7.0_76")
    updateRegistry("1.7")
    updatePath
}
}}}

Reply via email to