Browse Source

Merge branch 'master' into nvm-nodejs

Edward Bramanti 10 năm trước cách đây
mục cha
commit
c3493cd54d
100 tập tin đã thay đổi với 493 bổ sung46 xóa
  1. 2 1
      .travis.yml
  2. 0 1
      config/benchmark_profile
  3. 1 1
      deployment/vagrant-common/bootstrap.sh
  4. 5 0
      deployment/vagrant-common/core.rb
  5. 1 1
      frameworks/Clojure/compojure/install.sh
  6. 3 1
      frameworks/Clojure/compojure/setup.sh
  7. 1 1
      frameworks/Clojure/http-kit/install.sh
  8. 1 1
      frameworks/Clojure/http-kit/setup.sh
  9. 1 1
      frameworks/Clojure/luminus/install.sh
  10. 2 1
      frameworks/Clojure/luminus/setup.sh
  11. 2 0
      frameworks/Go/goji/.gitignore
  12. 17 0
      frameworks/Go/goji/README.md
  13. 28 0
      frameworks/Go/goji/benchmark_config.json
  14. 15 0
      frameworks/Go/goji/install.sh
  15. 10 0
      frameworks/Go/goji/setup.sh
  16. 220 0
      frameworks/Go/goji/src/goji/server.go
  17. 14 0
      frameworks/Go/goji/templates/fortune.html
  18. 9 0
      frameworks/Go/goji/templates/layout.html
  19. 2 3
      frameworks/Groovy/grails/install.sh
  20. 2 1
      frameworks/Groovy/grails/setup.sh
  21. 1 1
      frameworks/Java/activeweb/install.sh
  22. 3 1
      frameworks/Java/activeweb/setup.sh
  23. 1 1
      frameworks/Java/curacao/install.sh
  24. 3 0
      frameworks/Java/curacao/setup.sh
  25. 1 1
      frameworks/Java/dropwizard-mongodb/install.sh
  26. 3 0
      frameworks/Java/dropwizard-mongodb/setup.sh
  27. 1 1
      frameworks/Java/dropwizard/install.sh
  28. 3 0
      frameworks/Java/dropwizard/setup.sh
  29. 1 1
      frameworks/Java/gemini/install.sh
  30. 3 0
      frameworks/Java/gemini/start.sh
  31. 3 0
      frameworks/Java/gemini/start_postgres.sh
  32. 1 1
      frameworks/Java/grizzly-bm/install.sh
  33. 3 0
      frameworks/Java/grizzly-bm/setup.sh
  34. 1 1
      frameworks/Java/grizzly-jersey/install.sh
  35. 3 0
      frameworks/Java/grizzly-jersey/setup.sh
  36. 1 1
      frameworks/Java/jetty-servlet/install.sh
  37. 3 0
      frameworks/Java/jetty-servlet/setup.sh
  38. 1 1
      frameworks/Java/netty/install.sh
  39. 3 0
      frameworks/Java/netty/setup.sh
  40. 1 1
      frameworks/Java/ninja-standalone/install.sh
  41. 3 0
      frameworks/Java/ninja-standalone/setup.sh
  42. 1 1
      frameworks/Java/play1/install.sh
  43. 3 0
      frameworks/Java/play1/setup.sh
  44. 1 1
      frameworks/Java/play1siena/install.sh
  45. 4 0
      frameworks/Java/play1siena/setup.sh
  46. 1 1
      frameworks/Java/play2-java/install.sh
  47. 3 0
      frameworks/Java/play2-java/setup_java.sh
  48. 3 0
      frameworks/Java/play2-java/setup_java_ebean_bonecp.sh
  49. 3 0
      frameworks/Java/play2-java/setup_java_ebean_hikaricp.sh
  50. 3 0
      frameworks/Java/play2-java/setup_java_jpa_bonecp.sh
  51. 3 0
      frameworks/Java/play2-java/setup_java_jpa_hikaricp.sh
  52. 1 1
      frameworks/Java/restexpress/install.sh
  53. 3 0
      frameworks/Java/restexpress/setup.sh
  54. 3 1
      frameworks/Java/sabina/setup.sh
  55. 1 1
      frameworks/Java/servlet/install.sh
  56. 4 0
      frameworks/Java/servlet/setup.sh
  57. 3 1
      frameworks/Java/servlet3-cass/setup.sh
  58. 1 1
      frameworks/Java/spark/install.sh
  59. 4 1
      frameworks/Java/spark/setup.sh
  60. 1 1
      frameworks/Java/spring/install.sh
  61. 3 0
      frameworks/Java/spring/setup.sh
  62. 1 1
      frameworks/Java/tapestry/install.sh
  63. 2 1
      frameworks/Java/tapestry/setup.sh
  64. 1 1
      frameworks/Java/undertow-edge/install.sh
  65. 2 0
      frameworks/Java/undertow-edge/setup.sh
  66. 1 1
      frameworks/Java/undertow/install.sh
  67. 2 0
      frameworks/Java/undertow/setup.sh
  68. 1 1
      frameworks/Java/vertx/install.sh
  69. 2 0
      frameworks/Java/vertx/setup.sh
  70. 1 1
      frameworks/Java/wicket/install.sh
  71. 2 0
      frameworks/Java/wicket/setup.sh
  72. 1 1
      frameworks/Java/wildfly-ee7/install.sh
  73. 2 0
      frameworks/Java/wildfly-ee7/setup.sh
  74. 1 1
      frameworks/Ruby/grape/install.sh
  75. 2 0
      frameworks/Ruby/grape/run_jruby_puma.sh
  76. 2 0
      frameworks/Ruby/grape/run_mri_puma.sh
  77. 2 0
      frameworks/Ruby/grape/run_rbx_puma.sh
  78. 2 0
      frameworks/Ruby/grape/run_thin.sh
  79. 2 0
      frameworks/Ruby/grape/run_torqbox.sh
  80. 2 0
      frameworks/Ruby/grape/run_trinidad.sh
  81. 2 0
      frameworks/Ruby/grape/run_unicorn.sh
  82. 1 1
      frameworks/Ruby/padrino/install.sh
  83. 2 0
      frameworks/Ruby/padrino/run_jruby_puma.sh
  84. 2 0
      frameworks/Ruby/padrino/run_mri_puma.sh
  85. 2 0
      frameworks/Ruby/padrino/run_rbx_puma.sh
  86. 2 0
      frameworks/Ruby/padrino/run_thin.sh
  87. 2 0
      frameworks/Ruby/padrino/run_torqbox.sh
  88. 2 0
      frameworks/Ruby/padrino/run_trinidad.sh
  89. 2 0
      frameworks/Ruby/padrino/run_unicorn.sh
  90. 1 1
      frameworks/Ruby/rack/install.sh
  91. 2 0
      frameworks/Ruby/rack/run_jruby_puma.sh
  92. 2 0
      frameworks/Ruby/rack/run_mri_puma.sh
  93. 2 0
      frameworks/Ruby/rack/run_rbx_puma.sh
  94. 2 0
      frameworks/Ruby/rack/run_thin.sh
  95. 2 0
      frameworks/Ruby/rack/run_torqbox.sh
  96. 2 0
      frameworks/Ruby/rack/run_trinidad.sh
  97. 1 0
      frameworks/Ruby/rack/run_unicorn.sh
  98. 1 1
      frameworks/Ruby/rails-stripped/install.sh
  99. 1 1
      frameworks/Ruby/rails-stripped/setup_jruby.sh
  100. 1 0
      frameworks/Ruby/rails-stripped/setup_ruby.sh

+ 2 - 1
.travis.yml

@@ -43,6 +43,7 @@ env:
     - "TESTDIR=Go/falcore"
     - "TESTDIR=Go/gin"
     - "TESTDIR=Go/go"
+    - "TESTDIR=Go/goji"
     - "TESTDIR=Go/go-mongodb"
     - "TESTDIR=Go/revel"
     - "TESTDIR=Go/revel-jet"
@@ -150,7 +151,7 @@ env:
 before_install:
   # Need to install python modules before using 
   # python
-  - pip install -r config/python_requirements.txt
+  - pip install -r requirements.txt
 
   # Configure Travis-CI build environment for TFB
   #   e.g. setup databases, users, etc

+ 0 - 1
config/benchmark_profile

@@ -18,7 +18,6 @@ export TFB_DISTRIB_CODENAME=$DISTRIB_CODENAME
 export TFB_DISTRIB_DESCRIPTION=$DISTRIB_DESCRIPTION
 
 
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
 export RESIN_HOME=${IROOT}/resin-4.0.41
 export GRAILS_HOME=${IROOT}/grails-2.4.4
 export VERTX_HOME=${IROOT}/vert.x-2.1.1

+ 1 - 1
deployment/vagrant-common/bootstrap.sh

@@ -122,7 +122,7 @@ if [ ! -e "~/.firstboot" ]; then
     echo "Cloning project from $GH_REPO $GH_BRANCH"
     git clone -b ${GH_BRANCH} https://github.com/${GH_REPO}.git $FWROOT
   fi
-  sudo pip install -r $FWROOT/config/python_requirements.txt
+  sudo pip install -r $FWROOT/requirements.txt
 
   # Everyone gets SSH access to localhost
   echo "Setting up SSH access to localhost"

+ 5 - 0
deployment/vagrant-common/core.rb

@@ -95,6 +95,11 @@ def provider_virtualbox(config, role, ip_address='172.16.0.16')
       vb.gui = true
     end
 
+    # Improve Windows VirtualBox DNS resolution speed
+    # Addresses mitchellh/vagrant#1807 and TechEmpower/FrameworkBenchmarks#1288
+    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
+    vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
+
     vb.memory = ENV.fetch('TFB_VB_MEM', 3022)
     vb.cpus = ENV.fetch('TFB_VB_CPU', 2)
 

+ 1 - 1
frameworks/Clojure/compojure/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends resin java leiningen
+fw_depends java7 resin leiningen

+ 3 - 1
frameworks/Clojure/compojure/setup.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
+
+source $IROOT/java7.installed
+
 export RESIN_HOME=${IROOT}/resin-4.0.41
 export LEIN_HOME=$IROOT/lein
 

+ 1 - 1
frameworks/Clojure/http-kit/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends leiningen java
+fw_depends leiningen java7

+ 1 - 1
frameworks/Clojure/http-kit/setup.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
+source $IROOT/java7.installed
 export LEIN_HOME=$IROOT/lein
 
 cd hello

+ 1 - 1
frameworks/Clojure/luminus/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends resin leiningen
+fw_depends java7 resin leiningen 

+ 2 - 1
frameworks/Clojure/luminus/setup.sh

@@ -1,5 +1,6 @@
 #!/bin/bash
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
+
+source $IROOT/java7.installed
 export RESIN_HOME=${IROOT}/resin-4.0.41
 
 # Path vars must be set here

+ 2 - 0
frameworks/Go/goji/.gitignore

@@ -0,0 +1,2 @@
+src/github.com/
+pkg/

+ 17 - 0
frameworks/Go/goji/README.md

@@ -0,0 +1,17 @@
+# [Goji](https://github.com/zenazn/goji) (Go) Benchmarking Test
+
+This is the go portion of a [benchmarking test suite](../) comparing a variety of web development platforms.
+
+"Goji is a minimalistic web framework that values composability and simplicity."
+
+### Source
+* [All test source](src/goji/server.go)
+
+## Test URLs
+
+    http://localhost:8080/json
+    http://localhost:8080/db
+    http://localhost:8080/queries?queries=[1-500]
+    http://localhost:8080/fortunes
+    http://localhost:8080/updates?queries=[1-500]
+    http://localhost:8080/plaintext

+ 28 - 0
frameworks/Go/goji/benchmark_config.json

@@ -0,0 +1,28 @@
+{
+  "framework": "goji",
+  "tests": [{
+    "default": {
+      "setup_file": "setup",
+      "json_url": "/json",
+      "db_url": "/db",
+      "query_url": "/queries?queries=",
+      "fortune_url": "/fortunes",
+      "update_url": "/updates?queries=",
+      "plaintext_url": "/plaintext",
+      "port": 8080,
+      "approach": "Realistic",
+      "classification": "Platform",
+      "database": "MySQL",
+      "framework": "Goji",
+      "language": "Go",
+      "orm": "Raw",
+      "platform": "Go",
+      "webserver": "None",
+      "os": "Linux",
+      "database_os": "Linux",
+      "display_name": "Goji",
+      "notes": "",
+      "versus": "go"
+    }
+  }]
+}

+ 15 - 0
frameworks/Go/goji/install.sh

@@ -0,0 +1,15 @@
+#!/bin/bash
+
+
+fw_depends go
+
+export GOROOT=${IROOT}/go
+
+export GOPATH=${TROOT}
+
+# Where to find the go executable
+export PATH="$GOROOT/bin:$PATH"
+
+go get github.com/go-sql-driver/mysql
+go get github.com/zenazn/goji
+go get github.com/zenazn/goji/web

+ 10 - 0
frameworks/Go/goji/setup.sh

@@ -0,0 +1,10 @@
+#!/bin/bash
+
+export GOROOT=${IROOT}/go
+
+export GOPATH=${TROOT}
+
+# Where to find the go executable
+export PATH="$GOROOT/bin:$PATH"
+
+go run src/goji/server.go &

+ 220 - 0
frameworks/Go/goji/src/goji/server.go

@@ -0,0 +1,220 @@
+package main
+
+import (
+	"database/sql"
+	"encoding/json"
+	"flag"
+	"fmt"
+	"html/template"
+	"log"
+	"math/rand"
+	"net/http"
+	"runtime"
+	"sort"
+	"strconv"
+
+	_ "github.com/go-sql-driver/mysql"
+
+	"github.com/zenazn/goji"
+	"github.com/zenazn/goji/web"
+)
+
+const (
+	// Database
+	connectionString   = "benchmarkdbuser:benchmarkdbpass@tcp(localhost:3306)/hello_world"
+	worldSelect        = "SELECT id, randomNumber FROM World WHERE id = ?"
+	worldUpdate        = "UPDATE World SET randomNumber = ? WHERE id = ?"
+	fortuneSelect      = "SELECT id, message FROM Fortune;"
+	worldRowCount      = 10000
+	maxConnectionCount = 256
+
+	helloWorldString    = "Hello, World!"
+	extraFortuneMessage = "Additional fortune added at request time."
+)
+
+var (
+	// Templates
+	tmpl = template.Must(template.
+		ParseFiles("templates/layout.html",
+		"templates/fortune.html"))
+
+	// Database
+	worldStatement   *sql.Stmt
+	fortuneStatement *sql.Stmt
+	updateStatement  *sql.Stmt
+)
+
+type Message struct {
+	Message string `json:"message"`
+}
+
+type World struct {
+	Id           uint16 `json:"id"`
+	RandomNumber uint16 `json:"randomNumber"`
+}
+
+func randomRow() *sql.Row {
+	return worldStatement.QueryRow(rand.Intn(worldRowCount) + 1)
+}
+
+type Fortune struct {
+	Id      uint16 `json:"id"`
+	Message string `json:"message"`
+}
+
+type Fortunes []*Fortune
+
+func (s Fortunes) Len() int {
+	return len(s)
+}
+
+func (s Fortunes) Swap(i, j int) {
+	s[i], s[j] = s[j], s[i]
+}
+
+type ByMessage struct {
+	Fortunes
+}
+
+func (s ByMessage) Less(i, j int) bool {
+	return s.Fortunes[i].Message < s.Fortunes[j].Message
+}
+
+// Sets the content type of response. Also adds the Server header.
+func setContentType(w http.ResponseWriter, contentType string) {
+	w.Header().Set("Server", "Goji")
+	w.Header().Set("Content-Type", contentType)
+}
+
+// Test 1: Json Serialization
+func serializeJson(c web.C, w http.ResponseWriter, r *http.Request) {
+	setContentType(w, "application/json")
+	json.NewEncoder(w).Encode(&Message{helloWorldString})
+}
+
+// Test 2: Single Database Query
+func singleQuery(c web.C, w http.ResponseWriter, r *http.Request) {
+	world := World{}
+	if err := randomRow().Scan(&world.Id, &world.RandomNumber); err != nil {
+		log.Fatalf("Error scanning world row: %s", err.Error())
+	}
+
+	setContentType(w, "application/json")
+	json.NewEncoder(w).Encode(&world)
+}
+
+// Caps queries parameter between 1 and 500.
+// Non-int values like "foo" and "" become 1.
+func sanitizeQueryParam(queries string) int {
+	n := 1
+	if len(queries) > 0 {
+		if conv, err := strconv.Atoi(queries); err != nil {
+			n = 1
+		} else {
+			n = conv
+		}
+	}
+
+	if n < 1 {
+		n = 1
+	} else if n > 500 {
+		n = 500
+	}
+	return n
+}
+
+// Test 3: Multiple Database Queries
+func multipleQueries(c web.C, w http.ResponseWriter, r *http.Request) {
+	queries := sanitizeQueryParam(r.URL.Query().Get("queries"))
+	worlds := make([]World, queries)
+
+	for i := 0; i < queries; i++ {
+		if err := randomRow().Scan(&worlds[i].Id, &worlds[i].RandomNumber); err != nil {
+			log.Fatalf("Error scanning world row: %s", err.Error())
+		}
+	}
+
+	setContentType(w, "application/json")
+	json.NewEncoder(w).Encode(worlds)
+}
+
+// Test 4: Fortunes
+func fortunes(c web.C, w http.ResponseWriter, r *http.Request) {
+	rows, err := fortuneStatement.Query()
+	if err != nil {
+		log.Fatalf("Error preparing statement: %v", err)
+	}
+
+	fortunes := make(Fortunes, 0, 16)
+
+	for rows.Next() {
+		fortune := Fortune{}
+		if err := rows.Scan(&fortune.Id, &fortune.Message); err != nil {
+			log.Fatalf("Error scanning fortune row: %s", err.Error())
+		}
+		fortunes = append(fortunes, &fortune)
+	}
+	fortunes = append(fortunes, &Fortune{Message: extraFortuneMessage})
+
+	sort.Sort(ByMessage{fortunes})
+	setContentType(w, "text/html")
+	if err := tmpl.Execute(w, fortunes); err != nil {
+		http.Error(w, err.Error(), http.StatusInternalServerError)
+	}
+}
+
+// Test 5: Database Updates
+func dbupdate(c web.C, w http.ResponseWriter, r *http.Request) {
+	queries := sanitizeQueryParam(r.URL.Query().Get("queries"))
+	worlds := make([]World, queries)
+
+	for i := 0; i < queries; i++ {
+		if err := randomRow().Scan(&worlds[i].Id, &worlds[i].RandomNumber); err != nil {
+			log.Fatalf("Error scanning world row: %s", err.Error())
+		}
+		worlds[i].RandomNumber = uint16(rand.Intn(worldRowCount) + 1)
+		if _, err := updateStatement.Exec(worlds[i].RandomNumber, worlds[i].Id); err != nil {
+			log.Fatalf("Error updating world row: %s", err.Error())
+		}
+	}
+
+	setContentType(w, "application/json")
+	json.NewEncoder(w).Encode(worlds)
+}
+
+// Test 6: Plaintext
+func plaintext(c web.C, w http.ResponseWriter, r *http.Request) {
+	setContentType(w, "text/plain")
+	fmt.Fprintf(w, helloWorldString)
+}
+
+func main() {
+	runtime.GOMAXPROCS(runtime.NumCPU())
+
+	db, err := sql.Open("mysql", connectionString)
+	if err != nil {
+		log.Fatalf("Error opening database: %v", err)
+	}
+	db.SetMaxIdleConns(maxConnectionCount)
+	worldStatement, err = db.Prepare(worldSelect)
+	if err != nil {
+		log.Fatal(err)
+	}
+	fortuneStatement, err = db.Prepare(fortuneSelect)
+	if err != nil {
+		log.Fatal(err)
+	}
+	updateStatement, err = db.Prepare(worldUpdate)
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	flag.Set("bind", ":8080")
+	goji.Get("/json", serializeJson)
+	goji.Get("/db", singleQuery)
+	goji.Get("/queries", multipleQueries)
+	goji.Get("/fortunes", fortunes)
+	goji.Get("/plaintext", plaintext)
+	goji.Get("/updates", dbupdate)
+	goji.Serve()
+}

+ 14 - 0
frameworks/Go/goji/templates/fortune.html

@@ -0,0 +1,14 @@
+{{define "content"}}
+<table>
+<tr>
+<th>id</th>
+<th>message</th>
+</tr>
+{{range .}}
+<tr>
+<td>{{.Id}}</td>
+<td>{{.Message}}</td>
+</tr>
+{{end}}
+</table>
+{{end}}

+ 9 - 0
frameworks/Go/goji/templates/layout.html

@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Fortunes</title>
+</head>
+<body>
+{{template "content" .}}
+</body>
+</html>

+ 2 - 3
frameworks/Groovy/grails/install.sh

@@ -1,7 +1,6 @@
 #!/bin/bash
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
-export RESIN_HOME=${IROOT}/resin-4.0.41
 
+export RESIN_HOME=${IROOT}/resin-4.0.41
 export GRAILS_PATH=${IROOT}/grails-2.4.4/bin/
 
-fw_depends grails resin
+fw_depends java7 grails resin 

+ 2 - 1
frameworks/Groovy/grails/setup.sh

@@ -1,6 +1,7 @@
 #!/bin/bash
 
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
+source $IROOT/java7.installed
+
 export RESIN_HOME=${IROOT}/resin-4.0.41
 export GRAILS_PATH=${IROOT}/grails-2.4.4/bin/
 

+ 1 - 1
frameworks/Java/activeweb/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java resin maven
+fw_depends java7 resin maven

+ 3 - 1
frameworks/Java/activeweb/setup.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
+
+# load java environment variables
+source $IROOT/java7.installed
 export RESIN_HOME=${IROOT}/resin-4.0.41
 
 sed -i 's|localhost|'"${DBHOST}"'|g' src/main/webapp/WEB-INF/resin-web.xml

+ 1 - 1
frameworks/Java/curacao/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java sbt
+fw_depends java7 sbt

+ 3 - 0
frameworks/Java/curacao/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 ${IROOT}/sbt/bin/sbt assembly
 
 java -jar dist/curacao-standalone.jar &

+ 1 - 1
frameworks/Java/dropwizard-mongodb/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/dropwizard-mongodb/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 mvn clean package
 
 java -jar target/dropwizard-mongodb-0.0.1-SNAPSHOT.jar server hello-world.yml &

+ 1 - 1
frameworks/Java/dropwizard/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/dropwizard/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 sed -i 's|url: jdbc:mysql://.*/hello_world|url: jdbc:mysql://'"${DBHOST}"':3306/hello_world|g' hello-world.yml
 
 mvn clean package

+ 1 - 1
frameworks/Java/gemini/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java resin maven
+fw_depends java7 resin maven

+ 3 - 0
frameworks/Java/gemini/start.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 sed -i 's|db.ConnectString = .*/|db.ConnectString = '"$DBHOST"':3306/|g' Docroot/WEB-INF/GeminiHello.conf
 sed -i 's|root-directory=".*/FrameworkBenchmarks/frameworks/Java/gemini|root-directory="'"$TROOT"'|g' Docroot/WEB-INF/resin.xml
 sed -i 's|db.Driver.Class = .*|db.Driver.Class = com.mysql.jdbc.Driver|g' Docroot/WEB-INF/GeminiHello.conf

+ 3 - 0
frameworks/Java/gemini/start_postgres.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 sed -i 's|db.ConnectString = .*/|db.ConnectString = '"$DBHOST"':5432/|g' Docroot/WEB-INF/GeminiHello.conf
 sed -i 's|root-directory=".*/FrameworkBenchmarks/frameworks/Java/gemini|root-directory="'"$TROOT"'|g' Docroot/WEB-INF/resin.xml
 sed -i 's|db.Driver.Class = .*|db.Driver.Class = org.postgresql.Driver|g' Docroot/WEB-INF/GeminiHello.conf

+ 1 - 1
frameworks/Java/grizzly-bm/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/grizzly-bm/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 mvn clean compile assembly:single
 
 cd target

+ 1 - 1
frameworks/Java/grizzly-jersey/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/grizzly-jersey/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 mvn clean package
 
 java -jar target/grizzly-jersey-example.jar -dbhost ${DBHOST} &

+ 1 - 1
frameworks/Java/jetty-servlet/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/jetty-servlet/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 mvn clean compile assembly:single
 
 cd target

+ 1 - 1
frameworks/Java/netty/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/netty/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 mvn clean compile assembly:single
 
 cd target

+ 1 - 1
frameworks/Java/ninja-standalone/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/ninja-standalone/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 sed -i 's|mysql://.*:3306|mysql://'"${DBHOST}"':3306|g' src/main/java/conf/application.conf
 
 mvn clean compile assembly:single

+ 1 - 1
frameworks/Java/play1/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends play1 java
+fw_depends java7 play1 

+ 3 - 0
frameworks/Java/play1/setup.sh

@@ -1,6 +1,9 @@
 #!/bin/bash
 export PLAY1_HOME=${IROOT}/play-1.2.5
 
+# load java environment variables
+source $IROOT/java7.installed
+
 sed -i 's|jdbc:mysql://.*:3306|jdbc:mysql://'"${DBHOST}"':3306|g' conf/application.conf
 
 $PLAY1_HOME/play start --%prod

+ 1 - 1
frameworks/Java/play1siena/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends play1 siena java resin
+fw_depends java7 play1 siena resin

+ 4 - 0
frameworks/Java/play1siena/setup.sh

@@ -1,4 +1,8 @@
 #!/bin/bash
+
+# load java environment variables
+source $IROOT/java7.installed
+
 export PLAY1_HOME=${IROOT}/play-1.2.5
 export RESIN_HOME=${IROOT}/resin-4.0.41
 

+ 1 - 1
frameworks/Java/play2-java/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java sbt
+fw_depends java7 sbt

+ 3 - 0
frameworks/Java/play2-java/setup_java.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 cd play2-java
 
 # If application is running, clear old running app.

+ 3 - 0
frameworks/Java/play2-java/setup_java_ebean_bonecp.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 cd play2-java-ebean-bonecp
 
 # If application is running, clear old running app.

+ 3 - 0
frameworks/Java/play2-java/setup_java_ebean_hikaricp.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 cd play2-java-ebean-hikaricp
 
 # If application is running, clear old running app.

+ 3 - 0
frameworks/Java/play2-java/setup_java_jpa_bonecp.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 cd play2-java-jpa-bonecp
 
 # If application is running, clear old running app.

+ 3 - 0
frameworks/Java/play2-java/setup_java_jpa_hikaricp.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 cd play2-java-jpa-hikaricp
 
 # If application is running, clear old running app.

+ 1 - 1
frameworks/Java/restexpress/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/restexpress/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 sed -i 's|mongodb://.*/hello_world|mongodb://'"${DBHOST}"'/hello_world|g' config/dev/environment.properties
 sed -i 's|mysql://.*:3306|mysql://'"${DBHOST}"':3306|g' config/dev/environment.properties
 

+ 3 - 1
frameworks/Java/sabina/setup.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
-export JAVA_HOME=/opt/java8
+# load java environment variables
+source $IROOT/java8.installed
+
 mvn clean package -DskipTests -Ddb.host=${DBHOST}
 ${JAVA_HOME}/bin/java -jar target/sabina-1.0.0.jar &

+ 1 - 1
frameworks/Java/servlet/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java resin maven
+fw_depends java7 resin maven

+ 4 - 0
frameworks/Java/servlet/setup.sh

@@ -1,4 +1,8 @@
 #!/bin/bash
+
+# load java environment variables
+source $IROOT/java7.installed
+
 export RESIN_HOME=${IROOT}/resin-4.0.41
 
 sed -i 's|localhost|'"${DBHOST}"'|g' src/main/webapp/WEB-INF/resin-web.xml

+ 3 - 1
frameworks/Java/servlet3-cass/setup.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
+
+# load java environment variables
+source $IROOT/java8.installed
 export RESIN_HOME=${IROOT}/resin-4.0.41
 
 sed -i 's|localhost|'"${DBHOST}"'|g' src/main/resources/application.properties

+ 1 - 1
frameworks/Java/spark/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java resin maven
+fw_depends java7 resin maven

+ 4 - 1
frameworks/Java/spark/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
+
+# load java environment variables
+source $IROOT/java7.installed
+
 export RESIN_HOME=${IROOT}/resin-4.0.41
 
 sed -i 's|mysql://.*:3306|mysql://'"${DBHOST}"':3306|g' src/main/webapp/WEB-INF/resin-web.xml

+ 1 - 1
frameworks/Java/spring/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 3 - 0
frameworks/Java/spring/setup.sh

@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# load java environment variables
+source $IROOT/java7.installed
+
 mvn clean package
 cd target
 java -Ddatabase.host=${DBHOST} -jar spring.war &

+ 1 - 1
frameworks/Java/tapestry/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java resin maven
+fw_depends java7 resin maven

+ 2 - 1
frameworks/Java/tapestry/setup.sh

@@ -1,5 +1,6 @@
 #!/bin/bash
-export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
+# load java environment variables
+source $IROOT/java7.installed
 export RESIN_HOME=${IROOT}/resin-4.0.41
 
 sed -i 's|mysql://.*:3306|mysql://'"${DBHOST}"':3306|g' hello/src/main/webapp/WEB-INF/resin-web.xml

+ 1 - 1
frameworks/Java/undertow-edge/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 2 - 0
frameworks/Java/undertow-edge/setup.sh

@@ -1,4 +1,6 @@
 #!/bin/bash
+# load java environment variables
+source $IROOT/java7.installed
 
 sed -i 's|mysql://.*:3306|mysql://'"${DBHOST}"':3306|g' src/main/resources/hello/server.properties
 sed -i 's|postgresql://.*:5432|postgresql://'"${DBHOST}"':5432|g' src/main/resources/hello/server.properties

+ 1 - 1
frameworks/Java/undertow/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 2 - 0
frameworks/Java/undertow/setup.sh

@@ -1,4 +1,6 @@
 #!/bin/bash
+# load java environment variables
+source $IROOT/java7.installed
 
 sed -i 's|DATABASE_HOST|'"${DBHOST}"'|g' src/main/resources/hello/server.properties
 

+ 1 - 1
frameworks/Java/vertx/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends vertx java
+fw_depends java7 vertx 

+ 2 - 0
frameworks/Java/vertx/setup.sh

@@ -1,4 +1,6 @@
 #!/bin/bash
+# load java environment variables
+source $IROOT/java7.installed
 
 sed -i 's|host: \x27.*\x27|host: \x27'"${DBHOST}"'\x27|g' app.js
 

+ 1 - 1
frameworks/Java/wicket/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java resin maven
+fw_depends java7 resin maven

+ 2 - 0
frameworks/Java/wicket/setup.sh

@@ -1,4 +1,6 @@
 #!/bin/bash
+# load java environment variables
+source $IROOT/java7.installed
 export RESIN_HOME=${IROOT}/resin-4.0.41
 
 sed -i 's|mysql://.*:3306|mysql://'"${DBHOST}"':3306|g' src/main/webapp/WEB-INF/resin-web.xml

+ 1 - 1
frameworks/Java/wildfly-ee7/install.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
 
-fw_depends java maven
+fw_depends java7 maven

+ 2 - 0
frameworks/Java/wildfly-ee7/setup.sh

@@ -1,4 +1,6 @@
 #!/bin/bash
+# load java environment variables
+source $IROOT/java7.installed
 
 export JAVA_OPTS="-Xms2g -Xmx2g -XX:MaxPermSize=256m -XX:+UseG1GC -XX:MaxGCPauseMillis=25 -verbosegc -Xloggc:/tmp/wildfly_gc.log"
 

+ 1 - 1
frameworks/Ruby/grape/install.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends rvm nginx java
+fw_depends rvm nginx java7
 
 if [ "$TRAVIS" = "true" ]
 then

+ 2 - 0
frameworks/Ruby/grape/run_jruby_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/grape/run_mri_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/grape/run_rbx_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/grape/run_thin.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/grape/run_torqbox.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/grape/run_trinidad.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/grape/run_unicorn.sh

@@ -1,6 +1,8 @@
 #!/bin/bash
 export NGINX_HOME=${IROOT}/nginx
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 1 - 1
frameworks/Ruby/padrino/install.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends rvm nginx java
+fw_depends rvm nginx java7
 
 if [ "$TRAVIS" = "true" ]
 then

+ 2 - 0
frameworks/Ruby/padrino/run_jruby_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/padrino/run_mri_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/padrino/run_rbx_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/padrino/run_thin.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/padrino/run_torqbox.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/padrino/run_trinidad.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 2 - 0
frameworks/Ruby/padrino/run_unicorn.sh

@@ -1,6 +1,8 @@
 #!/bin/bash
 export NGINX_HOME=${IROOT}/nginx
 
+source $IROOT/java7.installed
+
 # We assume single-user installation as 
 # done in our rvm.sh script and 
 # in Travis-CI

+ 1 - 1
frameworks/Ruby/rack/install.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends rvm nginx java
+fw_depends rvm nginx java7
 
 if [ "$TRAVIS" = "true" ]
 then

+ 2 - 0
frameworks/Ruby/rack/run_jruby_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 sed -i 's|  host:.*|  host:'"${DBHOST}"'|g' config/database.yml
 
 # We assume single-user installation as 

+ 2 - 0
frameworks/Ruby/rack/run_mri_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 sed -i 's|  host:.*|  host:'"${DBHOST}"'|g' config/database.yml
 
 # We assume single-user installation as 

+ 2 - 0
frameworks/Ruby/rack/run_rbx_puma.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 sed -i 's|  host:.*|  host:'"${DBHOST}"'|g' config/database.yml
 
 # We assume single-user installation as 

+ 2 - 0
frameworks/Ruby/rack/run_thin.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 sed -i 's|  host:.*|  host:'"${DBHOST}"'|g' config/database.yml
 
 # We assume single-user installation as 

+ 2 - 0
frameworks/Ruby/rack/run_torqbox.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 sed -i 's|  host:.*|  host:'"${DBHOST}"'|g' config/database.yml
 
 # We assume single-user installation as 

+ 2 - 0
frameworks/Ruby/rack/run_trinidad.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+source $IROOT/java7.installed
+
 sed -i 's|  host:.*|  host:'"${DBHOST}"'|g' config/database.yml
 
 # We assume single-user installation as 

+ 1 - 0
frameworks/Ruby/rack/run_unicorn.sh

@@ -1,4 +1,5 @@
 #!/bin/bash
+source $IROOT/java7.installed
 export NGINX_HOME=${IROOT}/nginx
 
 sed -i 's|  host:.*|  host:'"${DBHOST}"'|g' config/database.yml

+ 1 - 1
frameworks/Ruby/rails-stripped/install.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends rvm nginx java
+fw_depends rvm nginx java7
 
 if [ "$TRAVIS" = "true" ]
 then

+ 1 - 1
frameworks/Ruby/rails-stripped/setup_jruby.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-
+source $IROOT/java7.installed
 sed -i 's|host: .*|host: '"${DBHOST}"'|g' config/database.yml
 
 # We assume single-user installation as 

+ 1 - 0
frameworks/Ruby/rails-stripped/setup_ruby.sh

@@ -1,5 +1,6 @@
 #!/bin/bash
 export NGINX_HOME=${IROOT}/nginx
+source $IROOT/java7.installed
 
 sed -i 's|host: .*|host: '"${DBHOST}"'|g' config/database.yml
 sed -i 's|/usr/local/nginx/|'"${IROOT}"'/nginx/|g' config/nginx.conf

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác