Giter Club home page Giter Club logo

phoenix's Introduction


What is Phoenix?

Phoenix is a Document Based macOS App that helps you generate and maintain Swift Packages while modularizing your Xcode projects.

Introduction Video

The following video should give you a summary of why this solution was created, and a brief demo on how to use it.

How to install

App Store

To get the latest stable version of Phoenix, please download it from the macOS App Store here.

Future install options

There are plans to use Github Releases to publish Phoenix updates.

Documentation

Documentation can be found under the Wiki page here

This section covers the different moving parts of the app.

This section covers how you can generate and maintain your Swift Packages.

This section explains what Demo Apps are for and how to use Phoenix to generate them.

Contribute

If you're interested in contributing to Phoenix, please head to the contribute page under the Wiki to find out how to be involved.

phoenix's People

Contributors

tawa avatar serjooo avatar

Stargazers

wonkwh avatar James Sedlacek avatar Yusuf Ak avatar Vitor Ferraz Varela avatar Anton Kolchunov avatar Camilo avatar  avatar Nikola Minov avatar Vidya Murthy avatar Sasi M avatar Maxim Bazarov avatar Anton Kolchunov avatar MD Rafat Touqir avatar Alan Kochev avatar Daniel Carriola avatar Alan S avatar  avatar

Watchers

 avatar

Forkers

serjooo

phoenix's Issues

[Feature Request] Create new Test Targets

Feature Request

It would be great to have the ability to customize each package's test target setup. For example, adding multiple test targets and managing each dependency as part of it. This is easily doable with just vanilla SPM, but using Phoenix limits you to have only one test target. The Phoenix validator also later blocks the change on CI while trying to do it manually.

By adding new test targets and managing dependencies, developers can create different test targets for different testing strategies. This flexibility allows for more comprehensive testing, as different targets can be set up to test different aspects of a package.

Current Behavior

You are limited to only one Test Target.

Possible Implementation

Adding a section for Tests, possibly, under Resources or above might help in this case. Then we would need to be able to assign dependencies to this specific target while managing Local Dependencies and Remote Dependencies

Screenshot 2024-03-04 at 07 47 30

Feedback about Edit Family

Issue Description

Recently with my team we were experiencing an issue in which we couldn't import one package from Family A into Family B. After some time, we realized that Family B was set up so that we couldn't import any packages from Family B into it. It was the first time we ran into this flow so it took some time to realize.

In the end, we disabled the rule temporarily, did our changes, and enabled it again. Finding a way to edit it was a bit complex, though.

Suggestions

  • Display the unavailable families on the bottom, and grey them out. If the user wants to import them either way, they get a confirmation pop-up but can do so anyway.
  • Adding a more descriptive icon to the Edit Family Feature to improve discoverability. Maybe just a plain button that says "Edit"?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.