swagger-api / swagger-api/swagger-codegen

[All] Build commands for all supported langs

Open
#6,455 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

General: Suggestion
Dominant language
Mustache
Stars
17.8k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

Description

I'm attempting to improve the user experience with building the packages for all langs that swagger-codegen supports. At the moment, each user of the generated code would be left with the task to figure out how to build the package, multiply this with the number of swagger-codegen users, this becomes a repeated effort that can be simplified.

I have a node.js CLI tool that contains the commands (currently only on few languages) needed to build the packages, e.g. https://github.com/cliffano/swaggy-c/blob/master/conf/tasks.yml#L496

In order to complete the commands list, I need to find out the commands to perform the following tasks for each of the generated langs?

  • resolve dependencies
  • run unit tests
  • build the package
  • install the package locally
  • generate code documentation
  • publish the package to an artifact repository

Is there a documentation or build script that lists the commands? If not, should I be asking the maintainers of each template/lang?

Also, what do you think about adding a Makefile that contains the targets to perform the above tasks? for each language. At least that could be self contained within the generated code.
I understand that a Makefile might not be OS-neutral enough, or perhaps it's not necessary within a given language. Please let me know what you think.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing commands in conf/tasks.yml and compare them with the generated language templates supported by swagger-codegen. Determine whether each language has documented commands for dependency resolution, tests, builds, local installation, documentation, and publishing. Done means a decided, maintainable approach for covering those tasks, including whether a generated Makefile is appropriate.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.