Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ACS development tools #32

Open
moraklein opened this issue Feb 12, 2015 · 2 comments
Open

ACS development tools #32

moraklein opened this issue Feb 12, 2015 · 2 comments

Comments

@moraklein
Copy link

Identify a suitable IDE for all ACS-supported languages. Create plugins to integrate the ACS development environment and generate component code skeletons (see "code generation" project). Provide support for an automated ACS testing environment (ACS component code execution), e.g. integrating an acscommandcenter-like GUI, generating xUnit code skeletons, etc. Support easy deployment into target embedded systems (see "embedded platforms" project).

Integrated Development Environments (IDEs) ease the development of code in general and within complex frameworks in particular. They also have the potential to lower the learning curve of newcomers. While ACS ships Eclipse as its default IDE, it does not currently provide any integration. A working prototype of a Java plugin for Eclipse is currently available from a third-party repository.

@omendezmorales
Copy link

In an attempt to gain some understanding and thus be able to contribute in the solution of this issue, I've rephrased the description above and posed some questions:

Integrated Development Environments (IDEs) ease the development of code in general and within complex frameworks in particular. They also have the potential to lower the learning curve of newcomers. While ACS ships Eclipse as its default IDE, it does not currently provide any integration.

1 - Identify a suitable IDE for all ACS-supported languages.
2 - Create plugins to integrate the ACS development environment and generate component code skeletons (see "code generation" project).
3 - Provide support for an automated ACS testing environment (ACS component code execution), e.g. integrating an acscommandcenter-like GUI, generating xUnit code skeletons, etc.
4 - Support easy deployment into target embedded systems (see "embedded platforms" project).

A working prototype of a Java plugin for Eclipse is currently available from a third-party repository.

QUESTIONS
1 - With regards to integration, what does not provide the current IDE, nor the working prototype of the plugin? What should the ideal IDE integrate with, considering also the current use of Jenkins & Github ?
2 - Assuming the working plugin prototype is a step in the right direction, should the solution(s) addressing this issue, build on top of that plugin? or is the possibility open to adopt a brand new IDE (e.g. IntelliJ, Netbeans, etc)? If so, what could be the impact in the existing code base?
3 - What is the precedence & priority Of the 4 main requirements as enunciated above? This issue gives space for a couple of (interdependent) projects as mentioned; which sub-issue hurts the most and which less? In case of a match, which one choose first?

Best,
O. Méndez.

@moraklein
Copy link
Author

@javarias is the best person to answer specifics on the existing Eclipse plugin.

In my opinion, the steps as enumerated are in correct order of priority; I would separate code generation into its own item though. Eclipse has been so far the default IDE shipped with ACS (and historically most popular one among ALMA developers). Which IDE(s) to support should depend on what is currently used within the community. It would be easy to do a quick survey through some of the existing mailing lists. Alternatively, implementing this for an IDE with limited use might lead to limited user testing and feedback.

Here are some essentials I think Step 2 (IDE development plugin) should include.

  • Support for ACS libraries and 3rd-party packages. Create a comprehensive way to specify package-level dependencies (this will have limited use now, but will be essential when ACS gets eventually modularized).
  • Import and link dependency libraries from the official github repos, including ACS and 3rd party contributions (repo location could be overridden by the user).
  • Create new ACS packages and automatically import the minimum required dependencies to start developing.
  • Support all the above for Java, C++ and Python.

cvalenzu pushed a commit to cvalenzu/ACS that referenced this issue Jan 25, 2018
…188-acstime-fix to master

ICT-10188: Merging since the verification phase was successful.

* commit '92be74876db0a881897d3a649d7d0636d2e42809':
  acstime fix for newer g++
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants