GitXplorerGitXplorer
M

swift-index

public
7 stars
1 forks
1 issues

Commits

List of commits on branch master.
Unverified
e6b441455fbd4d1f445fc56b96681a47716dd493

Update README.md

cczechboy0 committed 9 years ago
Unverified
4c2be22760feb15511a034d584ba78e3d06feaab

Added adaptor for SwiftModules.com (#3)

ccoryalder committed 9 years ago
Verified
0fe52cbcd77bb4ac71109acf0dc8cb0141d5ef64

Added a lightweight client

cczechboy0 committed 9 years ago
Verified
0004029d97d93f2fc82f813333c58af620522db3

Updated readme

cczechboy0 committed 9 years ago
Verified
f127404cd4868d9136df55b738c88b05fc01edfd

"Improved" index page

cczechboy0 committed 9 years ago
Verified
55e64d205ec7f1543d1585c9fc2715e630e11fe0

Added a description field

cczechboy0 committed 9 years ago

README

The README file for this repository.

swift-index

Centralized package index for SwiftPM.

The idea behind swift-index is that even centralized indices can be decentralized. This repo is a prototype of a swift-index compatible server. All it does is translating other centralized search APIs (CocoaPods, Swift Package Catalog, SwiftModules) into a swift-index form. The idea is to create thin frontends to more package indices out there. Then, users would opt-in to particular centralized indices in their Package.swift manifest file (not yet implemented) and SwiftPM would only need to understand communication with a swift-index compatible server (whoever maintains it).

(This is a WIP prototype only created to start a conversation around a centralized package index for SwiftPM. You're welcome to comment and hack away.)

Endpoints

This prototype server is running on https://swift-index.herokuapp.com, and so far only searching for packages with a specific keyword works, like

/v1/packages?q=keyword

curl https://swift-index.herokuapp.com/v1/packages?q=json

returns

[
    {
        "description": "Swift implementation of JSON Web Token (JWT).",
        "name": "JSONWebToken.swift",
        "origin": "https://github.com/kylef/JSONWebToken.swift.git",
        "sourceIndex": "Swift Package Catalog",
        "version": ""
    },
    {
        "description": "JSON (RFC 7159)",
        "name": "JSON",
        "origin": "https://github.com/Zewo/JSON.git",
        "sourceIndex": "Swift Modules",
        "version": ""
    },
    {
        "description": "Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes.",
        "name": "JSONModel",
        "origin": "https://github.com/icanzilb/JSONModel.git",
        "sourceIndex": "CocoaPods",
        "version": "1.2.0"
    },
    ...
]

Source Package Indices

Technology Stack

This server is written in Swift, powered by Vapor and the prototype runs on Heroku.

💙 Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

💝 Contributing

Please create an issue with a description of your problem or a pull request with a fix.

✌️ License

MIT

👽 Author

Honza Dvorsky - http://honzadvorsky.com, @czechboy0