The server side of offical Swift.GG Application, written in Swift.
Currently the swift version we use is DEVELOPMENT-SNAPSHOT-2016-03-01-a
, it has already defined at .swift-version
file in the source folder.
This project support running in teminal or Xcode, before running, you must install and config.
Sometime the config in OSX and Linux are a bit different, so we will Seperate them.
1.Install swift
- Go to the offical websit to download and install the swift.
- Swfitenv is a better tool to control different swift versions.
2.Install MySQL by Homebrew
brew install mysql
Now,The version is v5.7.11
, but unfortunately, the mysql header files has some issue when Xcode to build and link, so we need modify them by hand.
cd /usr/local/include/mysql
- find
client_plugin.h
at line103
replace the include with#include "plugin_auth_common.h"
. - find
my_alloc.h
at line27
replace the include code with#include "mysql/psi/psi_memory.h"
.
3.Clone Codes
git clone https://github.com/SwiftGGTeam/Swift.GGAppServer.git
4.Fix codes to support SPM
cd yourcodefolder
./fix
5.Build
cd yourcodefolder
./build
6.Run
.build/debug/SwiftGGAppServer
7.Xcode Support
Now, Launch Xcode, run the blow shell in terminal to start Xcode with the new version of swift.
xcrun launch-with-toolchain /Library/Developer/Toolchains/swift-latest.xctoolchain
Because Xcode7.3 release, you can choose Swift SDK version at Xcode->Preference->Components
.
Next, see the source code, you will find a folder named XcodeProject, go in and double click the SwiftGGAppServer.xcodeproj to launch Xcode and now cmd+r
, when it build success, everything is OK !
In the source folder, we write some shell script to help build
, clean
, run
, release
our SwiftGGAppServer.
- make a new Xcode Cocoa Application, Support using the GUI to run the server on osx
- make a fix shell to prefix the build problems
- Error Constants
- add regular expression support,Regex
- generate the radom number util
- because the depndency libraries are update so frequently and support different version of swift, so in next step i will remove them and contains their codes, the less depdency the less complie error.
- design a logo
- add dao layer
- make ORM framework
- add quick way to transform model(DTO) to json
- change the database to PostgreSQL
- fix build error with swift development version
DEVELOPMENT-SNAPSHOT-2016-03-16-a
, because new feature ofSwift3
, the SwitJSON can't build successfully. - change the XcodeProject generate by the command
swift build -X
- all the http request and response will be encrypt by AES or DES
- new SPM powerful tool, so i think will use the WatchDog
- Login
- Register
- Info
- login and registe use mobile and captcha, and return the token with expire time
- CategoryList
- ArticleInfo
- NewArticle
- Support Vapor v0.3 in 2016.3.22, Vapor change the
Controller
toResourceController
and add default behavior.
When use the DEVELOPMENT-SNAPSHOT-2016-03-16-a
version, it seems that spm not support run swift build in terminal, so run below shell code to fix the problem.
sudo install_name_tool -add_rpath /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2016-03-16-a.xctoolchain/usr/lib/swift/macosx /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2016-03-16-a.xctoolchain/usr/bin/swift-build
But when I lanch the Xcode it always tell me Failed to verify signature!
, so now the DEVELOPMENT-SNAPSHOT-2016-03-16-a
version is a Bridge.
Swift.GGAppServer is released under the MIT license.