Skip to content

Commit

Permalink
Generate streams package to multiple files
Browse files Browse the repository at this point in the history
  • Loading branch information
cjslep committed Jun 13, 2018
1 parent f155f0a commit b1609bd
Show file tree
Hide file tree
Showing 59 changed files with 125,460 additions and 124,993 deletions.
2,452 changes: 2,452 additions & 0 deletions streams/gen_accept.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_activity.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_add.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_announce.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_application.go

Large diffs are not rendered by default.

2,400 changes: 2,400 additions & 0 deletions streams/gen_arrive.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_article.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_audio.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_block.go

Large diffs are not rendered by default.

2,306 changes: 2,306 additions & 0 deletions streams/gen_collection.go

Large diffs are not rendered by default.

2,420 changes: 2,420 additions & 0 deletions streams/gen_collectionpage.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_create.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_delete.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_dislike.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_document.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_event.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_flag.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_follow.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_group.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_ignore.go

Large diffs are not rendered by default.

2,161 changes: 2,161 additions & 0 deletions streams/gen_image.go

Large diffs are not rendered by default.

2,400 changes: 2,400 additions & 0 deletions streams/gen_intransitiveactivity.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_invite.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_join.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_leave.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_like.go

Large diffs are not rendered by default.

581 changes: 581 additions & 0 deletions streams/gen_link.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_listen.go

Large diffs are not rendered by default.

581 changes: 581 additions & 0 deletions streams/gen_mention.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_move.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_note.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_object.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_offer.go

Large diffs are not rendered by default.

2,306 changes: 2,306 additions & 0 deletions streams/gen_orderedcollection.go

Large diffs are not rendered by default.

2,454 changes: 2,454 additions & 0 deletions streams/gen_orderedcollectionpage.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_organization.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_page.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_person.go

Large diffs are not rendered by default.

2,263 changes: 2,263 additions & 0 deletions streams/gen_place.go

Large diffs are not rendered by default.

2,127 changes: 2,127 additions & 0 deletions streams/gen_profile.go

Large diffs are not rendered by default.

2,594 changes: 2,594 additions & 0 deletions streams/gen_question.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_read.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_reject.go

Large diffs are not rendered by default.

2,226 changes: 2,226 additions & 0 deletions streams/gen_relationship.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_remove.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_service.go

Large diffs are not rendered by default.

3,049 changes: 3,049 additions & 0 deletions streams/gen_streams.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_tentativeaccept.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_tentativereject.go

Large diffs are not rendered by default.

2,183 changes: 2,183 additions & 0 deletions streams/gen_tombstone.go

Large diffs are not rendered by default.

2,400 changes: 2,400 additions & 0 deletions streams/gen_travel.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_undo.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_update.go

Large diffs are not rendered by default.

2,093 changes: 2,093 additions & 0 deletions streams/gen_video.go

Large diffs are not rendered by default.

2,452 changes: 2,452 additions & 0 deletions streams/gen_view.go

Large diffs are not rendered by default.

124,984 changes: 0 additions & 124,984 deletions streams/streams.go

This file was deleted.

47 changes: 42 additions & 5 deletions tools/streams/gen/as.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,51 @@ const (
UnknownLanguage = "und"
)

func GenerateConvenienceTypes(types []*defs.Type) ([]byte, error) {
type File struct {
Name string
Content []byte
}

func GenerateConvenienceTypes(types []*defs.Type) (f []*File, err error) {
p := generatePackageDefinition()
p.Defs = append(p.Defs, generateResolver(types))

var b []byte
b, err = format.Source([]byte(p.Generate()))
f = append(f, &File{
Name: "gen_streams.go",
Content: b,
})
for _, t := range types {
funcs, defs := generateDefinitions(t)
p := &defs.PackageDef{
Name: "streams",
}
funcs, defs, imports := generateDefinitions(t)
imports["github.com/go-fed/activity/vocab"] = true
for i, _ := range imports {
p.Imports = append(p.Imports, i)
}
p.F = append(p.F, funcs...)
p.Defs = append(p.Defs, defs...)

var b []byte
b, err = format.Source([]byte(p.Generate()))
if err != nil {
return
}
f = append(f, &File{
Name: fmt.Sprintf("gen_%s.go", strings.ToLower(t.Name)),
Content: b,
})
}
return format.Source([]byte(p.Generate()))
return
}

func generatePackageDefinition() *defs.PackageDef {
return &defs.PackageDef{
Name: "streams",
Comment: "Package streams is a convenience wrapper around the raw ActivityStream vocabulary. This package is code-generated to permit more powerful expressions and manipulations of the ActivityStreams Vocabulary types. This package also does not permit use of 'unknown' properties, or those that are outside of the ActivityStream Vocabulary specification. However, it still correctly propagates them when repeatedly re-and-de-serialized. Custom extensions of the vocabulary are supported by modifying the data definitions in the generation tool and rerunning it. Do not modify this package directly.",
Imports: []string{"fmt", "github.com/go-fed/activity/vocab", "net/url", "time"},
Imports: []string{"fmt", "github.com/go-fed/activity/vocab"},
Raw: `type Resolution int
const (
Expand Down Expand Up @@ -209,7 +238,8 @@ func generateResolver(types []*defs.Type) *defs.StructDef {
return this
}

func generateDefinitions(t *defs.Type) (fd []*defs.FunctionDef, sd []*defs.StructDef) {
func generateDefinitions(t *defs.Type) (fd []*defs.FunctionDef, sd []*defs.StructDef, imports map[string]bool) {
imports = make(map[string]bool)
this := &defs.StructDef{
Typename: t.Name,
Comment: t.Notes + convenienceComment,
Expand Down Expand Up @@ -242,6 +272,13 @@ func generateDefinitions(t *defs.Type) (fd []*defs.FunctionDef, sd []*defs.Struc
}...)
for _, p := range t.GetProperties() {
generatePropertyHelpers(p, this)
for _, r := range p.Range {
if r.V != nil {
for _, i := range r.V.Imports {
imports[i] = true
}
}
}
}
return
}
Expand Down
10 changes: 6 additions & 4 deletions tools/streams/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ import (

func main() {
allTypes := append(defs.AllCoreTypes, defs.AllExtendedTypes...)
b, err := gen.GenerateConvenienceTypes(allTypes)
files, err := gen.GenerateConvenienceTypes(allTypes)
if err != nil {
panic(err)
}
err = ioutil.WriteFile("streams.go", b, 0666)
if err != nil {
panic(err)
for _, f := range files {
err = ioutil.WriteFile(f.Name, f.Content, 0666)
if err != nil {
panic(err)
}
}
}
Binary file added tools/streams/streams
Binary file not shown.

0 comments on commit b1609bd

Please sign in to comment.