GemTalk / JadeiteForPharo

IDE for GemStone Smalltalk application development in Pharo using Rowan code management
MIT License
0 stars 0 forks source link

we should allow users to do a fileout of a project or a package from JfP ... using the technology that we use for the generategs build step #108

Closed dalehenrich closed 3 weeks ago

dalehenrich commented 1 month ago

Here are the Rowan methods for doing a project fileout:

RwProject>>exportTopazFormatTo:
RwProject>>exportTopazFormatTo:logClassCreation:excludeClassInitializers:excludeRemoveAllMethods:

For package fileout use:

RwProject>>exportTopazFormatTo:logClassCreation:excludeClassInitializers:excludeRemoveAllMethods:usingPackageNamesMap:

Example for filing out a single package into a single file:

| packageNameMap |
(Rowan projectNamed: 'MyProject')
  exportTopazFormatTo: <directoryPath>
  logClassCreation: false
  excludeClassInitializers: false
  excludeRemoveAllMethods: false
  usingPackageNamesMap: (Dictionary new
    at: <filename> put: { <packageName>};
    yourself).

Example for filing out multiple packages to a single file:

| packageNameMap |
(Rowan projectNamed: 'MyProject')
  exportTopazFormatTo: <directoryPath>
  logClassCreation: false
  excludeClassInitializers: false
  excludeRemoveAllMethods: false
  usingPackageNamesMap: (Dictionary new
    at: <filename> put: { <packageName1> . <packageName2> ... };
    yourself).

The user is responsible for figuring out filein order ...

LisaAlmarode commented 1 month ago

I suspect that without this feature we make run into sticky situations.

dalehenrich commented 4 weeks ago

I suspect that without this feature we make run into sticky situations.

What feature and what are the sticky situations?

In my mind the only valid export format for a Rowan project is filing out the entire project and even then there are projects that need to be filed out in one file and cannot be filed out individually if the project requires other projects. I don't believe that there is a method to export a project including all required projects, but if we need that feature it can be added ...

Filing out packages wanders into the territory of "file out this package ... and I will edit things to make it loadable"

ericwinger commented 3 weeks ago

Added 5 options to file out (project, package, class, category, method) to JfP. Closing bug for Lisa's review and comments.